2015-12-10 22 views
0

Django 1.9上有两个模型,其中一个与FK有关系。我想要生成第一个模型和第二个模型的JSON,但该查询集只加载第一个模型。JSON Django模型查询集及其相关模型

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 
    } 
    }] 

我想 “详细信息” 出现在这个结果中也是如此。 我怎么能这样做?

谢谢

回答

0

构建到Django中的序列化是平坦的。这意味着它只会引用相关的模型。你可以使用自然键来解决这个问题,但这有点不妥。

更好的方法是使用Django REST Framework的串行器。

+0

谢谢,这是一个很好的方法 – Walucas