我可以在使用Django通用视图时过滤request.user吗?

Edw*_*ale 5 generics django view filter

我想做这样的事情(来自我urls.py),但我不知道是否有可能让用户提出请求:

    url(r'^jobs/(page(?P<page>[0-9]+)/)?$',
        object_list, {'queryset': Job.objects.filter(user=request.user), 
                      'template_name': 'shootmpi/molecule_list.html'},
        name='user_jobs'),
Run Code Online (Sandbox Code Playgroud)

Ala*_*air 8

您可以编写一个使用所需查询集调用object_list的包装函数.

在urls.py中:

url(r'^(page(?P<page>[0-9]+)/)?$', 'views.user_jobs', name='user_jobs')
Run Code Online (Sandbox Code Playgroud)

在views.py中:

from django.views.generic.list_detail import object_list

def user_jobs(request, page):
    job_list=Job.objects.filter(user=request.user)
    return object_list(request, queryset=job_list,
        template_name='shootmpi/molecule_list.html',
        page=page)
Run Code Online (Sandbox Code Playgroud)

詹姆斯贝内特一篇关于使用这种技术的好文章.