我有一个视图可以过滤某个 object_list 中名为“defaultfieldname”的字段。我想要做的是调整它以将字段的名称作为参数传递给 urls.py,这样我就可以对不同的字段使用不同的 url。
我不确定哪种方式会更容易:
url(r'^calendar/birthday/$', login_required(MonthCalends.as_view(model=Person)), name='bday_list', filter_field="birthdate"),
url(r'^calendar/deathday/$', login_required(MonthCalends.as_view(model=Person)), name='dday_list', filter_field="deathdate"),
或者
url(r'^calendar/birthday/$', login_required(MonthCalends.as_view(model=Person, filter_field="birthdate")), name='bday_list'),
url(r'^calendar/deathday/$', login_required(MonthCalends.as_view(model=Person, filter_field="deathdate")), name='dday_list'),
然后我有一个看法:
class MonthCalends(ListView):
template_name='month_list.html'
## Sets default fieldname value
filter_field = "defaultfieldname"
...rest of code
urls.py 中的参数应该覆盖视图上的“defaultfieldname”,但我不知道如何从视图中的 urls.py 中获取 filter_field。有什么帮助吗?
谢谢!