モデルの継承されたフィールドに、そのモデルの init 関数内からアクセスしたい -
class Parent(models.Model):
parent_field = models.TextField(default="parent text")
class Meta:
abstract = True
class Child(Parent):
def __init__(self, *args, **kwargs):
super(Child, self).__init__(*args, **kwargs)
self.parent_field.default="child text"
ただし、Child オブジェクトを初期化しようとするとself.parent_field
(上記のコードで)、既にフィールド オブジェクトではなく Unicode オブジェクトになっています。
fields をオーバーライドするべきではないことはわかっています。メタクラスで何かをオーバーライドする必要があると思います。これを行う方法はありますか?それとも私が迷惑をかけているだけですか?