【发布时间】:2016-07-07 15:05:34
【问题描述】:
我有一个这样的 django 模型(例如):
class Books(models.Model):
id = models.IntegerField(unique=True, null=False, primary_key=True)
name = models.CharField(null=True, max_length=255)
author = models.ForeignKey(Author)
而且我需要把这个模型中的所有数据都转换成dict:
[{'author':1, 'books':[{'id':1, 'name':'Book1'}, {'id':2, 'name':'Book2'}]}, {'author':2, 'books':[{'id':3, 'name':'Book1'}, {'id':4, 'name':'Book2'}]}.....]
我该怎么做?
我尝试使用model_to_dict:
books = Books.objects.all()
data = model_to_dict(books, fields = ['author', 'id', 'name'])
但我有一个错误QuerySet' object has no attribute '_meta'
与books = Books.objects.values()相同
【问题讨论】:
-
djangorestframework 会让你很简单,本质上你需要写一个序列化器
-
你的例子不是一个字典,是一个列表。你想按作者分组吗?
-
@Gocht 是的,我需要按作者分组。
-
@Sayse 我知道,但在这个项目中它不是可选的。
-
你的数据库是什么?
标签: python json django django-models