2016-07-05 67 views
-1

我有两个链接在一起的表,即交货表和库存表。它们通过delivery_id作为库存表中的外键链接在一起。我的困境是,我必须从交付表单中将新创建的ID存入我的股票表单。我该怎么做?如何获得新创建的ID? DJANGO

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) 
+2

请发邮件而不是截图 – e4c5

+0

你是什么意思“从发货单到发货单”?这些是不同的要求。您需要编码您在请求中呈现请求所需的“所有内容”(当然Cookie和数据库可以提供帮助)。 – syntonym

回答

1

那么,为了帮助您的代码,您应该发布您的型号代码。但无论如何,以“链接”的模式,你应该按照你的代码下列步骤操作:

实例化模型和创建关系

这一步是要创建一个参照分发模型中的变量。

from YourApp.models import Delivery, Stock 

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

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

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

就是这样。你可以检查它是否使用django shell或在数据库中手动工作。 希望它能帮助你至少一点。