Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 输出django change admin页面中突出显示的记录_Python_Django - Fatal编程技术网

Python 输出django change admin页面中突出显示的记录

Python 输出django change admin页面中突出显示的记录,python,django,Python,Django,我需要从用户选择的djangos的管理页面中打印一条突出显示的记录。 我已经添加了打印所选记录的操作,但似乎无法再进一步 我已经测试了reportlab,在admin.py中的“print_member”操作中创建了一个“hello world”pdf,运行正常 我的问题是,如何获取“刚刚高亮显示的选中打印记录”,并将queryset数据提供给reportlab canvas调用 我在django文档中找不到如何从在管理页面中选择记录到在HttpResponse调用的响应部分中实际返回该记录 我

我需要从用户选择的djangos的管理页面中打印一条突出显示的记录。 我已经添加了打印所选记录的操作,但似乎无法再进一步

我已经测试了reportlab,在admin.py中的“print_member”操作中创建了一个“hello world”pdf,运行正常

我的问题是,如何获取“刚刚高亮显示的选中打印记录”,并将queryset数据提供给reportlab canvas调用

我在django文档中找不到如何从在管理页面中选择记录到在
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。