【发布时间】:2016-04-02 18:18:24
【问题描述】:
我有以下 2 个表
在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这样的查找,这是非常不必要的。
标签: sql django django-models