如何在Django中正确打印模型对象?

oknwwptz  于 2023-04-07  发布在  Go
关注(0)|答案(3)|浏览(191)

我是django的新手,我想打印我的数据,我正在使用这个函数从page_data = Pages.objects.all().filter(id=id)表格中获取数据,我得到了这个响应<QuerySet [<Pages: Page 567>]>,为什么它只显示标题列的数据?它应该显示所有的数据,有人能帮我在cmd中用print显示表格中的所有数据吗?

cbwuti44

cbwuti441#

您可以通过使用属性名称(如

page_data.id 
page_data.title

默认情况下,查询集将只显示记录的主键作为查询集的标记,这就是为什么您在[<Pages: Page 567>]中看到id值567的原因

chhkpiq4

chhkpiq42#

也许你应该考虑重写__str__()方法,以从Django模型中的对象返回任何你想要的数据。
给你
https://docs.djangoproject.com/en/2.2/ref/models/instances/#str
您还可以使用以下格式获取对象的任何列值。

object_name.column1_name

object_name.column2_name
smtd7mpg

smtd7mpg3#

要获取Django模型对象的字典表示,可以访问__dict__属性:

model_object = Pages.objects.all().filter(id=id).first()
print(model_object.__dict__)

作为奖励,要进行彩色漂亮打印(例如在./manage.py shell REPL环境中):

>>> from rich import pretty, print
>>> pretty.install()
>>> model_object.__dict__

相关问题