如何将对象添加到其中或如何创建(如果不存在)

时间:2018-10-04 22:31:25

标签: python django

您好,我完成了一个小型广告资源应用的制作,**还是可以的,但是在测试该应用时,我遇到了一个问题,在创建该应用之前,我没有想到。

我的模型看起来像这样

class Branch(models.Model):
    name=models.CharField(max_length=20)
    def __str__(self):
        return self.name.title()
class Stock(models.Model):
    ....
    branch = models.ForegnKey(Branch, related_name="stock", on_delete=models.CASCADE)

class Waybill(models.Model):
    product = models.ForeignKey(Stock, related_name="waybill", on_delete=models.CASCADE)

我有一个库存模型信号,可以减少运单上的库存数量,这样

def update_stock_on_waybill(sender, instance, **kwargs):
    instance.product.quantity -= instance.quantity

    instance.product.save()
pre_save.connect(update_stock_on_sales, sender=Waybill)

现在我的问题是,例如:分支A将库存发送到分支B,并且如果分支B中尚不存在从分支A的运货单到分支B的新库存对象,我想创建一个新的库存对象。实现这个?我已经从django文档中阅读了update_or_create(),这似乎是解决我的问题的一个不错的选择,但是我不知道如何应用它,因为我对django并不熟悉。谢谢。

0 个答案:

没有答案