1

在我的 Django 模型中,我在一个名为 Batch 的类上有以下 FK。

class Batch(models.Model):
    sender_name = models.ForeignKey(Originator,
                                        related_name='batch')

现在,这意味着用户在保存之前总是必须先创建一个 Originator。但是,我想,如果 Originator 不存在,则创建一个新的并将其添加到批处理中。我正在考虑在批处理的 save() 上执行此操作。但是有更好的方法吗?

4

1 回答 1

2

您可以FK在方法中创建对象view,或者如果是美味的派,水合物。

通过不将 FK 对象创建逻辑放在save模型的方法中,您不会混淆逻辑。换句话说,避免在另一个类的save方法中创建一个类的对象。

这样逻辑是干净的,你所要做的就是bundle.data['contact'] = Originator.objects.get_or_create()而不是覆盖save

于 2013-06-12T14:56:22.060 回答