【发布时间】:2015-03-22 20:27:39
【问题描述】:
我正在尝试将通过 Django 查询选择的值列表转换为 json。
我的查询是:
city_list = Address.objects.values('city').distinct()
地址在哪里
class Address(models.Model):
id = models.AutoField(primary_key=True)
streetAddress = models.CharField(max_length=200)
city = models.CharField(max_length=200)
state = models.CharField(max_length=200)
zipCode = models.CharField(max_length=200)
def __unicode__(self):
return str(self.id) + ", " + self.streetAddress + ", " + self.city + ", " + self.state + ", " + self.zipCode
def natural_key(self):
return {"streetAddress":self.streetAddress, "city":self.city, "state":self.state, "zipCode":self.zipCode}
我正在尝试将其转换为这样的 json:
{ "cities" : [ {"city" : "New York"}, {"city" : "Los Angeles"}, {...} ]}
我试过这个:
jsonData = json.dumps(city_list)
但错误表明 city_list 不是 JSON 可序列化的。在错误屏幕中,字符串如下所示:
[{'city': u'Baltimore'}, {'city': u'Berkeley'}, {'city': u'Austin'}...
我该如何解决这个问题?
【问题讨论】:
-
不能手动制作一个json可序列化的值吗? {“城市:json.dumps(city_list) }
-
当然可以,但是还有其他方法。我发布了一个解决方案。
标签: json django django-queryset