2015-12-10 23 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