我在不同的应用程序中有两个模型: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函数之类的宝石)