“Django”;列表“;及;“细节”;具有重复字段的行的视图
重复字段行!重复字段行 因此,我有一个模型“Django”;列表“;及;“细节”;具有重复字段的行的视图,django,django-templates,django-views,Django,Django Templates,Django Views,重复字段行!重复字段行 因此,我有一个模型应用程序,其中有一个字段school\u name,它可以在其他字段中获取重复的值。 我希望实现的是:当我单击“列表”视图中的一行(或类似的内容)时,所有重复的学校名称值及其各自的计数的“列表””视图,以及其中每个重复字段的“详细信息””视图,我能够查看包含此重复字段的所有行,以及该特定条目的其余字段 我的意思是: 列出行。 当我点击第1行(DeDimKimthi Technology Technology)时,或者单击一个细节按钮或类似于行1的某种东
应用程序
,其中有一个字段school\u name
,它可以在其他字段中获取重复的值。
我希望实现的是:当我单击“列表”视图中的一行(或类似的内容)时,所有重复的学校名称值及其各自的计数的“列表””视图,以及其中每个重复字段的“详细信息””视图,我能够查看包含此重复字段的所有行,以及该特定条目的其余字段
我的意思是:
列出行。
当我点击第1行(DeDimKimthi Technology Technology)时,或者单击一个细节按钮或类似于行1的某种东西,我希望得到这个:
到目前为止,我有两个问题:
duplicates = Application.objects.values('school_name').annotate(name_count=Count('school_name')).filter(name_count__gt=0)
上面的查询返回重复的行及其计数(如图1所示),而下面的查询
records = Application.objects.filter(school_name__in=[item['school_name'] for item in duplicates])
返回行的其他字段(如图2所示),只返回数据库中的所有行
我期望的是,当我单击“列表”上的一行时,我会看到一个“详细”视图,其中的行在school\u name
字段中具有重复值
需要注意的是:我在我的视图上执行此操作。py
我终于找到了解决我自己问题的方法:-)
所以我所做的是在我的视图中创建一个函数,它接受一个额外的参数,然后将该参数传递给URL和模板,如下所示
views.py
def school_detail(request, school_name):
filtered_records = Application.objects.filter(school_name=school_name)
context = {
'repeated_names' : filtered_records,
'duplicates' : duplicates,
'title' : 'Disbursement Details',
}
return render(request, 'calculations/detail.html', context)
然后在myurl.py中
path('list/<str:school_name>/', default_views.school_detail, name='dup_detail')
path('list/',default_views.school_detail,name='dup_detail'))
最后在我的模板中:
{% for application in duplicates %}
<tr class="clickabe-row" data-target="{% url 'dup_detail' application.school_name %}">
<td>{{ forloop.counter}}</td>
<td>{{ application.school_name}}</td>
<td>{{ application.name_count}}</td>
</tr>
{% endfor %}
{%用于重复的应用程序%}
{{forloop.counter}
{{申请.学校名称}
{{application.name_count}
{%endfor%}
很有魅力。我不确定我是否真的理解这个问题。为什么在第二个查询中循环所有项?为什么不Application.objects.filter(school\u name=selected\u school\u name)
?因为我需要学校名称,在您的案例中selected\u school\u name
是动态的,因为学校名称将是重复列表@DanielRosemanSo中的学校名称,我需要一个函数,将school_名称作为附加参数,以便在重复列表中指示可单击行的URL时,将school_名称作为附加参数传递