Python Django:使用HttpResponseRedirect将查询集传递给另一个视图
在admin.py中,我设置了一个名为导出的操作,如下所示Python Django:使用HttpResponseRedirect将查询集传递给另一个视图,python,django,Python,Django,在admin.py中,我设置了一个名为导出的操作,如下所示 class RecipientAdmin(admin.ModelAdmin): actions = [export] export.short_description = "Export Stuff" admin.site.register(Recipient, RecipientAdmin) 这将运行以下函数 def export(modeladmin, request, queryset): return Http
class RecipientAdmin(admin.ModelAdmin):
actions = [export]
export.short_description = "Export Stuff"
admin.site.register(Recipient, RecipientAdmin)
这将运行以下函数
def export(modeladmin, request, queryset):
return HttpResponseRedirect("/export/")
我的问题是
我如何将查询集传递到另一个视图/页面?可以使用HttpResponseRedirect吗?或者有没有其他方法可以让我这么做
我希望已在列表视图中预选的记录被带到新页面,以便我可以对其进行迭代。有两种方法可以做到这一点 1> 如果您只想按模型中的某些字段进行筛选,那么您可以在url中传递筛选器。示例:'/export/?id\u gte=3&status\u exact=3' 2> 在导出操作函数中,可以在会话中设置一些变量或整个queryset,然后在导出视图中检查它
def export(modeladmin, request, queryset):
"""
not sure if this will work
"""
request.session['export_querset'] = queryset
"""
if above does not work then just set this and check for it in view and u can make the queryset again if this is set
"""
request.session['export_querset'] = 1
return HttpResponseRedirect("/export/")
为什么要重定向?是否可以从函数
export()调用/export/
后面的视图
?我想要一个带有附加选项的中间确认页面。我认为过滤器不起作用,因为我想要将列表视图中预选的记录带到新页面,以便我可以对其进行迭代。然后,您可能可以在会话中设置查询集,怎么样