【问题标题】:JSON Django Model queryset and it's related modelsJSON Django 模型查询集及其相关模型
【发布时间】:2015-12-10 23:31:57
【问题描述】:

我在 Django 1.9 上有两个模型,一个与另一个有 FK 关系。我想生成第一个模型和第二个模型的 JSON,但是查询集只加载第一个模型。

models.py

class Header(models.Model):
    title=models.CharField(max_length=60)
    description=models.TextField()
    createdBy=models.ForeignKey(User)

    def __unicode__(self):
        return self.title


class Detail(models.Model):
    header=models.ForeignKey(Disaster)
    country=models.CharField(max_length=3)

view.py

def getHeaders(request):

header_rs = Header.objects.all()
response_data = serializers.serialize("json", header_rs)

return HttpResponse(response_data, content_type="application/json")

我得到的回报:

[
  {
  "model": "DH_BASE.header",
  "pk": 1,
  "fields":       {
     "title": "Teste",
     "description": "Teste",
     "createdBy": 1
     }
   }]

我希望“详细信息”也出现在此结果中。 我怎么能这样做?

谢谢

【问题讨论】:

    标签: json django django-views


    【解决方案1】:

    django 内置的序列化是扁平化的。这意味着它只会引用相关模型。您可以使用自然键来克服这个问题,但这有点 hackish。

    更好的方法是使用来自Django REST Framework 的序列化程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-13
      • 2012-12-15
      • 2015-08-31
      • 2020-07-31
      • 2020-01-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多