我有以下2個表Django的模型 - 外鍵作爲主鍵
在models.py
class Foo(models.Model):
uuid = models.CharField(_('UUID'), primary_key=True, default=uuid4)
和
class FooExt(models.Model):
uuid = models.ForeignKey(Foo, verbose_name=_('UUID'), primary_key=True)
time = models.DateTimeField(_('Create DateTime'), auto_now_add=True)
基本上,我有Foo
和FooExt
。我想要一個FooExt
之間的一對一關係。這就是爲什麼我將FooExt
的主鍵設置爲Foo
的外鍵(不確定這是否是正確的做法)。
現在我在Foo
中添加一個條目。 FooExt
的條目是否會自動創建?或者,我是否需要手動將條目添加到Foo
和FooExt
?
我能做些什麼來獲得「自動」添加功能嗎?從概念上講,這兩張表格描述的是同樣的事情,但我不想用額外的信息來污染Foo
。所以如果增加到Foo
自動創建相應的FooExt
會很好。
好了,你可以用'OneToOneField'它們之間,但沒有什麼被自動創建的,你需要做手工。如果所有的'FooExt'信息都屬於'Foo',那麼你不應該把字段分開。它不會讓你的模型「被污染」,並且你可以避免像'foo.fooext.time'這樣的查找,這是非常不必要的。 –