我的问题是我想使用视图(而不是对其进行修改)来显示组中的所有人。
问题是我不知道如何在正则表达式中使用pk来过滤同一行...
我想要类似的东西:
url(r'^groups/(?P<pk>\d+)/$', login_required(MyListView.as_view(model=Person, queryset=Person.objects.filter(groups__id=pk))), name='person_group_list'),
有了这个我得到:
“ / clients /中的NameError
名称“ pk”未定义”
有什么提示吗?
最佳答案
您确实需要编写一个视图。这是基于类的视图的优点,您可以简单地从MyListView继承。 (我知道您说过您不想这样做,但这确实是正确的方法)。
from your_app.views import MyListView
from your_app.models import Person
class MySpecialListView(MyListView):
model = Person
get_queryset(self, *args, **kwargs):
return Person.objects.filter(groups__id=self.kwargs['group_pk']))
附带说明一下,我将在您的正则表达式中将pk更改为group_pk,以避免任何可能的冲突。
url(r'^groups/(?P<group_pk>\d+)/$', login_required(MySpecialListView.as_view(), name='person_group_list')
关于python - 在urls.py中使用来自正则表达式的内联过滤器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14787623/