フィールドが返されたときにデフォルト値をオーバーライドできるかどうかは疑問です。Djangoモデル:フィールド戻り値のオーバーライド
modela_instance.name
を呼び出すと、例の名前+「foo」というのため、変更された値を返すことができることをどのような方法があります
class ModelA(models.Model)
name = models.CharField(max_length=30)
が、デフォルトで実行FOOを追加し、コードを持っている:私はモデルを持っていたと言いますモデル自体の中で、私がする必要があるのは、付加価値を得るために名前を呼び出すことだけです。
私は手の込んだと私が実際に行うことを望んだことはモデル内のメソッドを持っていると言う必要があります。「
def get_name(self):
return self.name + " foo"
または同様、ちょうどget_name方法は、フィールドへの呼び出しを上書きすることを望みます名"。
ありがとう、私はわずかに異なるメソッドを使用して終了しました。今では、名前フィールドの代わりにメソッドを返す読み取り専用プロパティを使用しています。 – PT114
http://stackoverflow.com/questions/3757951/changing-the-behaviour-of-a-django-model-with-getattrも参照してください。基本的には、プロパティや '__getattr__'(気を付けて!)を使用してください。 –