如何解决在模板django中显示用户请求的项目
我有一个简单的借阅物品请求应用程序,用户可以登录并填写包含以下内容的表单:
- 项目
- 位置
- 开始日期
- 结束日期
这存储在数据库 Record stored in database
然后我有一个退货页面,用户只需点击退货即可确认已退货。
我只想显示与用户登录页面相关的项目,(所以只显示用户提出的请求:当前项目和前一个项目。)
我有以下请求表模型:
class Request(models.Model):
shootkit_id = models.ForeignKey(Shootkit,on_delete=models.CASCADE)
username = models.ForeignKey(User,on_delete=models.CASCADE,null=True,blank=True)
request_start_date = models.DateField('Start Date')
request_end_date = models.DateField('End Date')
location = models.ForeignKey(Location,on_delete=models.CASCADE)
视图中的以下定义:
def return_form(request):
form = shootkitForm
request_db = Request.objects.all
return render(request,'return_form.html',{'form':form,'request_db':request_db})
模板返回的以下内容:
{% for shootkit in request_db %}
<div class="callout-info">Hi {{ user }},you currently have the {{ shootkit.shootkit_id }}</div>
{% endfor %}
显然,这显示了表格中的每一条记录(如果我有更多的记录)。我只想显示与用户 User log in info and name of the item
链接的项目(在本例中为拍摄套件 #5)这是我有史以来的第一次开发,也是第一次使用 django...所以这是我想到如何显示记录的唯一方法...但我不知道如何将它与用户联系起来,仅显示用户(已登录)出现的记录。有人可以帮忙吗?
谢谢。
解决方法
你必须使用filter():
def return_form(request):
form = shootkitForm
request_db = Request.objects.filter(username=request.user)
return render(request,'return_form.html',{'form':form,'request_db':request_db})
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。