我正在尝试将通过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'}...
我该如何解决?
答案 0 :(得分:1)
解决方案:按列表传递
city_list = list(Address.objects.values('city').distinct())
jsonData = json.dumps({"cities" : city_list})