Django 如何在产品表中添加新项目

Django 如何在产品表中添加新项目,django,Django,在这里,我将向我的产品表(db)添加新项目。但是我面临着一个错误,比如snap 我的产品表中有供应商id作为外键 这是我的观点 def add1(request): obj = Vendor.objects.all() return render_to_response('add_product1.html',{'obj': obj},con

在这里,我将向我的产品表(db)添加新项目。但是我面临着一个错误,比如snap
我的产品表中有供应商id作为外键

这是我的观点

    def add1(request):
         obj = Vendor.objects.all()
        return  render_to_response('add_product1.html',{'obj':    
                                                    obj},context_instance=RequestContext(request))


def add_product2(request):
    if request.method == 'GET':

        val0 = request.GET.get('options')
        val1 = request.GET.get('name')
        val2 = request.GET.get('price')
        val3 = request.GET.get('category_product')
        val4 = request.GET.get('quantity')
        v = Product(Vendor= val0,name=val1,price=val2,category_product=val3,quantity= val4)
        v.save()
        return HttpResponseRedirect('/manage_product')
这是一个模型

class Vendor(models.Model):
    name = models.CharField(max_length=30)
    address = models.CharField(max_length=100)
    contact = models.CharField(max_length=100)
    created_date = models.DateField()
    class Product(models.Model):
    Vendor = models.ForeignKey(Vendor)
    name = models.CharField(max_length=30)
    price = models.CharField(max_length=40)
    category_product= models.CharField(max_length=40)
    quantity = models.CharField(max_length=40)
在add_product1.html中

<form action="/add_product2/" method="POST">

     id : <select name='options' >
    {% for Vendor in obj %}
    <option  value='0' >{{Vendor.id}}</option>
    {%endfor%}
    </select><br />

   Product  Name:<input type ='text' name= 'name' value =''></br>
   Price : <input type ='text' name= 'price' value =  ''></br>
   Category_product :<input  type = 'text' name= 'category_product' value = ''></br>
   Quantity: <input  type ='text' name='quantity' value = ''></br>
   <input type='submit' name='Submit' value='add' />
   </form>

身份证件:
{对于obj%中的供应商,}
{{Vendor.id}
{%endfor%}

产品名称:
价格:
产品类别:
数量:

您应该使用模型表单,它有一些有用的工具,如验证、自动表单创建等:

ModelForm将把字段
供应商
放入
输入中。

以下是答案
我们应该在值中使用id

id : <select name='my_options' >
{% for Vendor in obj %}
    <option  value='{{Vendor.id}}' >{{Vendor.name}}</option>
    {%endfor%}
    </select><br />
id:
{对于obj%中的供应商,}
{{Vendor.name}
{%endfor%}


然后它平滑地移交外键

修复格式,向我们展示模型并发布完整的错误回溯。消息很清楚:
estore\u product.Vendor\u id可能不为空
如果您在DB中更改了某个内容,您应该在post中提出请求。是的,请更改为post。但是我面临同样的错误您的
请求中没有
供应商id
。获取
?但是很抱歉,现在无法更改我的完整代码,因为这是我的projectModelForm的一部分。form使用您现有的模型创建表单并保存表单和其他内容,使用它不会超过5分钟。