我如何更新django foreignkey? [英] How can i update django foreignkey?

查看:619
本文介绍了我如何更新django foreignkey?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个模型 OrderItem ,它有一个外键订单。我也有一个函数创建一个这样的OrderItem,

I have a model OrderItem and it has a foreignkey order. I also have a function that creates an OrderItem like so,

OrderItem.objects.create(shopping_id=_shopping_id(request),
                                          quantity=quantity,
                                          item=i,
                                          created_by=anon_user,
                                          modified_by=anon_user)

如你所见,我没有包含订单,因为我无法理解我如何能够做到这一点。
i得到错误 order_items.order_id可能不为NULL

As you can see i have not included order because i have failed to understand how i can be able to do it. i get the error order_items.order_id may not be NULL

这里是我的模型 OrderItem

class OrderItem(SmartModel):
    shopping_id = models.CharField(max_length=50,db_index=True)
    quantity = models.IntegerField(default=0)
    item = models.ForeignKey(Item)
    order = models.ForeignKey(Order)

任何一种帮助都不胜感激。

Any kind of help is appreciated.

推荐答案

如果没有创建它,然后创建OrderItem对象,则必须检查它是否存在。
代码应该如下所示:

You have to check if it exist if no create it and then create OrderItem object. Code should look like this:

     try:
         order = Order.objects.get(pk=order_id)
     except:
           order = Order.objects.create(name=name)

     OrderItem.objects.create(shopping_id=_shopping_id(request),
                                      quantity=quantity,
                                      item=i,
                                      order=order
                                      created_by=anon_user,
                                      modified_by=anon_user)

这篇关于我如何更新django foreignkey?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆