我的目标
我的想法
我的问题
我不知道如何使用过滤器和排序添加表单来修改我的QuerySet.我的想法是使用额外的filter和order_by修改get_queryset中的Query.
我的看法
class MyView(ListView):
model = Update
template_name = "updates/update.html"
paginate_by = 10
def get_queryset(self):
return Update.objects.filter(
~Q(state=Update.STATE_REJECTED),
~Q(state=Update.STATE_CANCELED),
~Q(state=Update.STATE_FINISHED),
).order_by(
'planned_release_date'
)
Run Code Online (Sandbox Code Playgroud)
我的想法
像这样的东西.我知道这不是这样的工作......只是为了说明
class MyView(ListView):
model = Update
template_name = "updates/update.html"
paginate_by = 10
def post(self, request, *args, **kwargs):
new_context = Update.objects.filter(
request.POST.get("filter"),
).order_by(
request.POST.get("sorting"),
)
def get_queryset(self):
return Update.objects.filter(
~Q(state=Update.STATE_REJECTED),
~Q(state=Update.STATE_CANCELED),
~Q(state=Update.STATE_FINISHED),
).order_by(
'planned_release_date'
)
Run Code Online (Sandbox Code Playgroud)