Djangoカスタムモデルフィールドでモデルインスタンスの属性を設定します。モデルフィールドからのモデルインスタンスへのアクセス
私はそれがこのように働いたが、ここでの例ではありませんだと確信しています:
class MyField(models.Field):
__metaclass__ = models.SubfieldBase
def __init__(self, *args, **kwargs):
super(MyField, self).__init__(*args, **kwargs)
model_instance = ????
setattr(model_instance, "extra_attribute", "It's working!")
class MyModel(models.Model):
my_field = MyField()
model_instance = MyModel.objects.get(pk=123)
print model_instance.extra_attribute # output: "It's working!"
DjangoのForeignKeyのモデルフィールドは、同じようなことをやっているので、それが可能である:P 私はForeignKeyのフィールドを使用していると思いますcontrib_to_classメソッド。
いいえ、 –
フィールドにpk値を渡すにはどうすればいいですか? –