-1
Djangoには、ContentTypeモデルがあります。 私はCのオブジェクトを有するC1を指すのオブジェクトが存在する場合CONTENT_TYPE AとC1は、Iがc1.a
又はc1.a.field1
にアクセスすることができると言う場合、私はモデルA、BおよびCcontenttypeへの外部キーは十分ではありませんか?
class A(models.Model):
field1 = models.BooleanField(default=True)
c = models.OneToOneField(myapp.C)
class B(models.Model):
field2 = models.CharField()
class C(models.Model):
limits = models.Q(app_label=u'students', model=u'a') | \
models.Q(app_label=u'myapp', model=u'b')
content_type = models.ForeignKey(ContentType, limit_choices_to=limits)
を有することを検討してください。
a
からc1
にアクセスできるのであれば、なぜ私はGenericForeignKey
が必要ですか?
また、c2がcontent_typeがBであるCのオブジェクトである場合、c2.b.field2を呼び出すとどうなりますか?
'Ato'から' C'までの 'OneToOneField'と' C'の 'GenericForeignKey'から選択する必要があります。両方が冗長であること。 – knbk