首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django中不存在Ipd匹配查询

Django中不存在Ipd匹配查询
EN

Stack Overflow用户
提问于 2019-07-21 17:36:51
回答 1查看 58关注 0票数 2

我正在尝试使用QS从ForeignKey中获取对象,但我似乎找不到问题

views.py:

代码语言:javascript
复制
@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:

代码语言:javascript
复制
    <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

代码语言:javascript
复制
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新手,需要帮助找到我的答案!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-21 17:46:40

要在病人字段上查询foreign key,您需要使用foreign key而不是patient=patient_id

而且你也应该使用filter()而不是get(),因为它是一对多的关系,因此1名病人可以有超过1个Ipd。

代码语言:javascript
复制
qs = Ipd.objects.filter(patient__Patient_id=patient_id)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57135524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档