Je me demande s'il est possible de remplacer la valeur par défaut d'un champ lorsqu'il est retourné. Dire que j'avais un modèle:Modèles Django: Remplacer une valeur de retour de champ
class ModelA(models.Model)
name = models.CharField(max_length=30)
Est-il possible que l'appel
modela_instance.name
peut retourner une valeur modifiée, par exemple le nom + « foo », mais ont le code qui ajoute foo géré par défaut dans le modèle lui-même, tout ce que je devrais faire est d'appeler le nom pour obtenir la valeur ajoutée?
j'élaborer et dire que ce que j'espère vraiment faire est d'avoir une méthode dans le modèle:
def get_name(self):
return self.name + " foo"
ou similaire, et juste veulent que la méthode de get_name pour passer outre l'appel au champ " prénom".
Merci, j'ai fini par utiliser une méthode légèrement différente, maintenant j'utilise une propriété en lecture seule qui renvoie ma méthode au lieu du champ de nom lui-même. – PT114
Voir aussi http://stackoverflow.com/questions/3757951/changing-the-behaviour-of-a-django-model-with-getattr. Fondamentalement, soit utiliser les propriétés ou '__getattr__' (avec précaution!). –