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

问题描述 投票:0回答:3

我是 django 新手,我想打印我的数据,我正在使用这个函数从表中获取数据,

page_data = Pages.objects.all().filter(id=id)
,我得到这个响应
<QuerySet [<Pages: Page 567>]>
,为什么它只显示标题列数据?它应该显示所有数据,有人可以帮我在cmd中用
print
显示表格中的所有数据吗?

enter image description here

python django
3个回答
1
投票

您可以通过使用属性名称访问来查看每个属性数据,例如

page_data.id 
page_data.title

默认情况下,查询集将仅显示记录的主键作为查询集的标签,这就是您在

[<Pages: Page 567>]

中看到 id 值 567 的原因

1
投票

也许您应该考虑重写

__str__()
方法来从 Django 模型中的对象返回您想要的任何数据。

给你。

https://docs.djangoproject.com/en/2.2/ref/models/instances/#str

您还可以使用以下格式获取对象的任何列值。

object_name.column1_name

object_name.column2_name

1
投票

要获取 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__
© www.soinside.com 2019 - 2024. All rights reserved.