在模板(django)中显示用户请求的项目



我有一个简单的借用物品请求应用程序,用户可以登录该应用程序并填写以下表格:

  • 项目
  • 位置
  • 开始日期
  • 结束日期

这存储在数据库中记录存储在数据库中

然后我有一个返回页面,用户只需单击返回即可确认已返回项目。

我只想显示用户登录页面时的相关项目,(所以只显示用户提出的请求:当前项目和以前的项目。(

我有以下请求表模型:

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 %}

显然,这显示了表上的每一条记录(如果我有不止一条记录的话(。我只想显示与用户链接的项目(在这种情况下是射击套件#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})

最新更新