Python 输出django change admin页面中突出显示的记录
我需要从用户选择的djangos的管理页面中打印一条突出显示的记录。 我已经添加了打印所选记录的操作,但似乎无法再进一步 我已经测试了reportlab,在admin.py中的“print_member”操作中创建了一个“hello world”pdf,运行正常 我的问题是,如何获取“刚刚高亮显示的选中打印记录”,并将queryset数据提供给reportlab canvas调用 我在django文档中找不到如何从在管理页面中选择记录到在Python 输出django change admin页面中突出显示的记录,python,django,Python,Django,我需要从用户选择的djangos的管理页面中打印一条突出显示的记录。 我已经添加了打印所选记录的操作,但似乎无法再进一步 我已经测试了reportlab,在admin.py中的“print_member”操作中创建了一个“hello world”pdf,运行正常 我的问题是,如何获取“刚刚高亮显示的选中打印记录”,并将queryset数据提供给reportlab canvas调用 我在django文档中找不到如何从在管理页面中选择记录到在HttpResponse调用的响应部分中实际返回该记录 我
HttpResponse
调用的响应部分中实际返回该记录
我目前的代码是:
def print_member( self, request, queryset ):
rows_updated = queryset.update( status = 'p' )
if rows_updated == 1:
message_bit = "member detail was collected successfully !!"
self.message_user( request, "%s detailed ready for printing!!" % message_bit )
response = HttpResponse( content_type = 'application/pdf' )
response[ 'Content-Disposition' ] = 'attachment; filename="member_label.pdf"'
p = canvas.Canvas( response )
details = list( request )
p.drawString( 100,100,detail_string )
p.showPage()
p.save()
return response
我的测试代码admin.py如下所示:- def打印成员(自我、请求、查询集): 行\u updated=queryset.update(状态为'p') 如果行_updated==1: message\u bit=“已成功收集成员详细信息!!” self.message\u用户(请求,“%s详细信息已准备好打印!!%message\u位) response=HttpResponse(内容类型='application/pdf') 响应['Content Disposition']='附件;filename=“member\u label.pdf”' p=canvas.canvas(响应) 详细信息=列表(请求) p、 抽绳(100100,细线) p、 showPage() p、 保存()
返回响应我的建议是使用管理操作。
在那里你会得到queryset。然后迭代这个查询集,做你想做的任何事情。我是否正确理解你已经在使用管理操作?如果是的话,你能展示一下你现在使用的代码吗?否则,首先看看Saul的答案。因此,我要问的是如何从queryset.update(如果这是正确的,因为我没有使用实际状态='p')更新模型到为reportlab画布调用填充'details'。如果这不是在django管理页面中打印所选记录的公认方式,那么您会怎么做?嗨,Saul,thx,但是作为django内部工作的新手,我不知道如何从管理页面获取所选记录。ie:我需要看看我是如何将queryset数据放入“canvas”调用的。由于queryset拥有成员的姓氏,我只需执行一些sql操作就可以获取该姓氏的记录,因此提示请点击thx。