Django 如何在与href中的id进行比较后显示db中的记录
问题是在比较href中的id后,我无法在edit_vendor.html中显示记录 请找个人 我有自己的观点Django 如何在与href中的id进行比较后显示db中的记录,django,Django,问题是在比较href中的id后,我无法在edit_vendor.html中显示记录 请找个人 我有自己的观点 def vendor(request,id): key = request.GET.get('id') obj = Vendor.objects.get(id = key) return render_to_response('edit_vendor.html',{'obj': obj},context_instance=RequestContext(reque
def vendor(request,id):
key = request.GET.get('id')
obj = Vendor.objects.get(id = key)
return render_to_response('edit_vendor.html',{'obj': obj},context_instance=RequestContext(request))
模板
<a href ='/vendor/{{vendor.id}}/'> edit </a>
编辑_vendor.html
{% for Vendor in obj %}
<tr>
<form action="/update/" method="get">
Vendor Name:<input type ='text' name= 'name' value ={{Vendor.name}}></br>
Address: <input type ='text' name= 'address' value = {{Vendor.address}}></br>
Contact:<input type = 'text' name= 'contact' value = {{Vendor.contact}}></br>
Created Date <input type ='text' name='date' value = {{Vendor.created_date}}></br>
<input type='submit' name='Submit' value='update' />
</form>
</tr>
{% endfor%}
{%用于obj%中的供应商]
供应商名称:
地址:
联系人:
创建日期
{%endfor%}
您使用的是get()
,它总是返回单个对象,而不是列表
但让我们备份并修复您的视图
from django.shortcuts import render_to_response, get_object_or_404
def vendor(request, id):
vendor = get_object_or_404(Vendor, id=id)
return render_to_response('edit_vendor.html', {'vendor': vendor}, context_instance=RequestContext(request))
接下来要记住的是,get
ORM调用只返回一个对象,而不是一个列表。因此:
{% for Vendor in obj %}
…这是错误的
您可能只想做:
<tr>
<form action="/update/" method="get">
Vendor Name:<input type ='text' name= 'name' value ={{vendor.name}}></br>
Address: <input type ='text' name= 'address' value = {{vendor.address}}></br>
Contact:<input type = 'text' name= 'contact' value = {{vendor.contact}}></br>
Created Date <input type ='text' name='date' value = {{vendor.created_date}}></br>
<input type='submit' name='Submit' value='update' />
</form>
</tr>
供应商名称:
地址:
联系人:
创建日期
尝试obj=Vendor.objects.get(id=id)
而不是当前的obj=Vendor.objects.get(id=key)
完美。。!多谢各位