我正在尝试使用QS从ForeignKey中获取对象,但我似乎找不到问题
views.py:
@login_required
def ipd (request,patient_id):
formtwo = IpdForm()
qs = Ipd.objects.get(patient=patient_id)
if request.method=="POST":
formtwo = IpdForm(request.POST)
if formtwo.is_valid() :
instance = formtwo.save(commit=False)
instance.save
else:
return HttpResponse(formtwo.errors)
else:
formtwo = IpdForm()
return render(request, 'newipd.html', {'a':qs,'form2':formtwo})html:
<div class="card-panel">
<span class="blue-text text-darken-2">Name : {{a.name}}</span> <br>
<span class="blue-text text-darken-2">Phone : {{ a.phone }}</span><br>
<span class="blue-text text-darken-2">Address : {{ a.address }}</span>
<br>
<span class="blue-text text-darken-2">Gender : {{ a.Gender }}</span><br>
</div>urls.py
from django.conf.urls import url
from django.contrib import admin
from orders import views as my_order
from django.contrib.auth import views as auth
from django.contrib.auth.decorators import login_required
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^$', my_order.index, name='home'),
url(r'^orders$', my_order.index, name='home'),
url(r'^order/(?P<patient_id>\d+)/$', my_order.show, name='show'),
url(r'^order/new/$', my_order.new, name='new'),
url(r'^order/ipd/(?P<patient_id>\d+)/$', my_order.ipd, name='ipd'),
url(r'^order/edit/(?P<patient_id>\d+)/$', my_order.edit, name='edit'),
url(r'^order/delete/(?P<patient_id>\d+)/$', my_order.destroy,
name='delete'),
url(r'^ipdlist$', my_order.ipd_list, name='ipd_list'),
url(r'^users/login/$', auth.LoginView.as_view, {'template_name':
'login.html'}, name='login'),
url(r'^users/logout/$', auth.LogoutView.as_view, {'next_page': '/'},
name='logout'),
url(r'^users/change_password/$', login_required(auth.PasswordResetForm),
{'post_change_redirect' : '/','template_name': 'change_password.html'},
name='change_password'),
]我无法找到我的代码是什么错误,我是Django新手,需要帮助找到我的答案!
发布于 2019-07-21 17:46:40
要在病人字段上查询foreign key,您需要使用foreign key而不是patient=patient_id。
而且你也应该使用filter()而不是get(),因为它是一对多的关系,因此1名病人可以有超过1个Ipd。
qs = Ipd.objects.filter(patient__Patient_id=patient_id)https://stackoverflow.com/questions/57135524
复制相似问题