[英]Django select_related chained foreign keys doesn't return non-direct related objects
[英]Select_Related and JSON - How to serialize foreign key objects
假设我有2个模型:
class Blog(models.Model):
name = models.CharField(max_length=100)
class Entry(models.Model):
blog = models.ForeignKey(Blog)
headline = models.CharField(max_length=255)
我需要以JSON格式返回所有带有相应博客的条目:
TO_JSON = serializers.serialize('json', Entry.objects.select_related('blog').filter(...))
TO_JSON包含我需要的所有条目,但没有博客。
感谢@bento提出了以下答案, django可以序列 化外 键对象 :
entries = Entry.objects.select_related('blog').filter(...)
list = []
for row in entries:
list.append({'blog_title':row.blog.title, 'entry_title': row.title})
return json.dumps(list)
在https://docs.djangoproject.com/zh-CN/dev/ref/models/querysets/#django.db.models.query.QuerySet.select_related中 ,您可以尝试如下操作:
e = Entry.objects.select_related('blog').filter(...)
return serializers.serialize('json', [x.blog for x in e])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.