0
假设我在我的模型两个表:转换一个Django的queryset到JSON树
class Country(models.Model):
CountryName = models.CharField(max_length=20)
class City(models.Model):
CityName = models.CharField(max_length=20)
Country = models.ForeignKey(Country)
在我看来,我做一个JSON:
list = City.objects.annotate(CountryName=F('Country__CountryName')).values('CityName', 'CountryName').prefetch_related('Country')
return HttpResponse(json.dumps([any_entry for any_entry in list]))
在结果我收到这样的:
{[{CityName: 'Vancouver', CountryName: 'Canada'},
{CityName: 'Montreal', CountryName: 'Canada'},
{CityName: 'Dallas', CountryName: 'USA'}]}
虽然我想是这样的:
{[
{
CountryName: 'Canada',
Cities: [{CityName: 'Vancouver'},
{CityName: 'Montreal'}]
},
{
CountryName: 'USA',
Cities: [{CityName: 'Dallas'}]
}
]}
或者至少是:
{
Canada: ['vancouver','Montreal'],
USA: ['Dallas']
}
入住这里,看看是否有所帮助:http://stackoverflow.com/questions/12731897/ group-by-foreign-key-and-show-related-items-django – souldeux
@souldeux:谢谢但是如果我有3个级别而不是2级(考虑添加状态)并且你确定这个方法有最好的性能吗? – Ahmad