Django是否可以自动创建相关的一对一模型?

我在不同的应用程序中有两个模型:modelA和modelB。他们有一对一的关系。django有什么方法可以在保存模型A时自动创建并保存模型B?

class ModelA(models.Model):

name = models.CharField(max_length=30)

class ModelB(models.Model):

thing = models.OneToOneField(ModelA, primary_key=True)

num_widgets = IntegerField(default=0)

当我保存一个新的ModelA时,我想要一个条目自动保存在ModelB中。我怎样才能做到这一点?有没有一种方法可以在ModelA中指定呢?还是这不可能,我只需要在视图中创建并保存ModelB?

编辑说模型在不同的应用程序中。

回答:

看看django-annoying中的AutoOneToOneField 。从文档:

from annoying.fields import AutoOneToOneField

class MyProfile(models.Model):

user = AutoOneToOneField(User, primary_key=True)

home_page = models.URLField(max_length=255)

icq = models.CharField(max_length=255)

(django-annoying是一个很棒的小程序库,其中包含诸如render_to装饰器以及get_object_or_None和get_config函数之类的宝石)

以上是 Django是否可以自动创建相关的一对一模型? 的全部内容, 来源链接: utcz.com/qa/405738.html

回到顶部