Django模型:为FK创建一个新对象



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

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

现在,这意味着用户必须在保存之前先创建一个Originator。但是,如果Originator不存在,我想创建一个新的并将其添加到批处理中。我正在考虑在批量保存()上这样做。但是有没有更好的办法呢?

您可以在view方法中创建FK对象,或者在tastype的情况下创建水合物。

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

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

最新更新