我是 django 新手,我想打印我的数据,我正在使用这个函数从表中获取数据,
page_data = Pages.objects.all().filter(id=id)
,我得到这个响应<QuerySet [<Pages: Page 567>]>
,为什么它只显示标题列数据?它应该显示所有数据,有人可以帮我在cmd中用print
显示表格中的所有数据吗?
您可以通过使用属性名称访问来查看每个属性数据,例如
page_data.id
page_data.title
默认情况下,查询集将仅显示记录的主键作为查询集的标签,这就是您在
[<Pages: Page 567>]
中看到 id 值 567 的原因
也许您应该考虑重写
__str__()
方法来从 Django 模型中的对象返回您想要的任何数据。
给你。
https://docs.djangoproject.com/en/2.2/ref/models/instances/#str
您还可以使用以下格式获取对象的任何列值。
object_name.column1_name
object_name.column2_name
要获取 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__