django - Django - 特定项目的基于类的视图
问题描述
构建一个 Django 应用程序,其中我有一个显示不同案例列表的视图。当您单击案例时,我希望它带您进入与案例相关的项目列表(在本例中是设备列表)。我面临的问题我不知道如何使视图仅显示与该案例相关的项目(现在它显示每个案例中的每个项目)。
意见:
class MdeListView(LoginRequiredMixin, ListView):
model = Mde
template_name = 'mde/mde.html'
ordering = [F('date').desc()]
def get_queryset(self):
return Mde.objects.distinct('case_number')
class MdeCaseListView(LoginRequiredMixin, ListView):
model = Mde
template_name = 'mde/mde_case_list.html'
网址.py
from django.urls import path
from .views import MdeListView, MdeCreateView, MdeCaseListView
urlpatterns = [
path('<int:pk>/list', MdeCaseListView.as_view(), name='mde_case_list'),
path('new', MdeCreateView.as_view(), name='mde_new'),
path('', MdeListView.as_view(), name='mde'),
]
url 根据主键转到正确的记录,但从那里我只想要使用与该主键相同的 case_number 的项目。
解决方案
我能够弄清楚!
class MdeCaseListView(LoginRequiredMixin, ListView):
model = Mde
template_name = 'mde/mde_case_list.html'
def get_queryset(self):
pkey = self.kwargs.get("pk")
case = Mde.objects.filter(id=pkey).values_list('case_number', flat=True)
return Mde.objects.filter(case_number=case[0])
推荐阅读
- jquery - 无法启用 jQuery UI datepicker 的选定日期
- c# - C# foreach 性能低下
- apache - 在 Windows 上将 sed 与 Apache 一起使用时,管道日志程序意外失败
- javascript - 如何将随机颜色应用于每个字母而不是单词?
- python - Python相当于Spark rangeBetween for window?
- java - Aparapi:不调用 GPU
- database - FILTER 语句的顺序是否会影响 arangoDB 中查询的性能?
- node.js - 更改 express 中的最大查询字符串长度
- synchronization - Unison 使用 rootalias 移动根目录
- android - 键盘可见时移动按钮