我的问题是我想使用视图(而不是对其进行修改)来显示组中的所有人。
问题是我不知道如何在正则表达式中使用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/

10-13 01:22