我是django的新手,我想打印我的数据,我正在使用这个函数从page_data = Pages.objects.all().filter(id=id)表格中获取数据,我得到了这个响应<QuerySet [<Pages: Page 567>]>,为什么它只显示标题列的数据?它应该显示所有的数据,有人能帮我在cmd中用print显示表格中的所有数据吗?
page_data = Pages.objects.all().filter(id=id)
<QuerySet [<Pages: Page 567>]>
print
cbwuti441#
您可以通过使用属性名称(如
page_data.id page_data.title
默认情况下,查询集将只显示记录的主键作为查询集的标记,这就是为什么您在[<Pages: Page 567>]中看到id值567的原因
[<Pages: Page 567>]
chhkpiq42#
也许你应该考虑重写__str__()方法,以从Django模型中的对象返回任何你想要的数据。给你https://docs.djangoproject.com/en/2.2/ref/models/instances/#str您还可以使用以下格式获取对象的任何列值。
__str__()
object_name.column1_name object_name.column2_name
smtd7mpg3#
要获取Django模型对象的字典表示,可以访问__dict__属性:
__dict__
model_object = Pages.objects.all().filter(id=id).first() print(model_object.__dict__)
作为奖励,要进行彩色漂亮打印(例如在./manage.py shell REPL环境中):
./manage.py shell
>>> from rich import pretty, print >>> pretty.install() >>> model_object.__dict__
3条答案
按热度按时间cbwuti441#
您可以通过使用属性名称(如
默认情况下,查询集将只显示记录的主键作为查询集的标记,这就是为什么您在
[<Pages: Page 567>]
中看到id值567的原因chhkpiq42#
也许你应该考虑重写
__str__()
方法,以从Django模型中的对象返回任何你想要的数据。给你
https://docs.djangoproject.com/en/2.2/ref/models/instances/#str
您还可以使用以下格式获取对象的任何列值。
smtd7mpg3#
要获取Django模型对象的字典表示,可以访问
__dict__
属性:作为奖励,要进行彩色漂亮打印(例如在
./manage.py shell
REPL环境中):