如何获得新创建的ID? DJANGO

时间:2016-07-05 09:51:49

标签: python django

我有两个链接在一起的表,即Delivery表和Stock表。它们通过delivery_id链接在一起,作为Stock表中的外键。我的困境是我必须从交付表单到我的股票表格中获取新创建的ID。我该怎么做?

def delivery(request):

    form = DeliveryForm(request.POST or None)
    context = {"form": form}
    if form.is_valid():
        form.save()
        context = {"message": "Success!"}
        return HttpResponseRedirect('/post/') 
    else:
        return render(request, 'inventorysystem/delivery.html', context)

def stock(request, delivery_id=id):

     form = StockForm(request.POST or None)
     context = {"form": form}
     if form.is_valid():
        form.save()
        context = {"message": "Success!"}
     return render(request,'inventorysystem/post.html', context)

1 个答案:

答案 0 :(得分:1)

嗯,为了帮助您的代码,您应该已经发布了您的模型代码。但无论如何,要链接'您应该在代码中遵循以下步骤的模型:

实例化模型和创建关系

此步骤即将创建一个引用交付模型的变量。

from YourApp.models import Delivery, Stock

q = Delivery(SomeField = 'Example', OtherField = 2)

现在,' q'持有您想要与Stock建立关系的对象。因此,下一步是在某个变量中实例化Stock,然后引用字段' delivery'在Stock模型中我们之前创建的交货对象。 (注意:模型库需要像这样的一个字段delivery = models.ForeignKey(delivery,on_delete = models.CASCADE))

z = Stock(SomeField = 'Example3', delivery=q)

那就是它。您可以使用django shell检查它是否有效,或者在数据库中手动检查它是否有效。 希望它能帮助你至少一点。