Я выполняю запрос Django к следующей таблице и хочу преобразовать полученный набор запросов в JSON:
class City(models.Model):
city = models.CharField(max_length=50)
city_ascii = models.CharField(max_length=50)
lat = models.FloatField(default=0.0)
lng = models.FloatField(default=0.0)
country = models.CharField(max_length=50)
country_abbrev2 = models.CharField(max_length=2)
country_abbrev3 = models.CharField(max_length=3)
region = models.CharField(max_length=50)
Запрос пытается получить список всех города в данной стране 'country_abbrev' (без дубликатов):
cities = City.objects.filter(country_abbrev2=country_abbrev).values('city').distinct()
cities_json = serializers.serialize('json', cities)
return HttpResponse(cities_json, content_type='application/json')
Запрос возвращает эту ошибку:
Error: AttributeError: 'dict' object has no attribute '_meta'
Теперь этот другой запрос работает, но возвращает модель ' 'и' pk 'в дополнение к полю' city ', и мне они не нужны.
data = serializers.serialize('json', City.objects.filter(country_abbrev2=country_abbrev).distinct(), fields=('city'))
return HttpResponse(data, content_type='application/json')
Есть ли способ исправить первый запрос? Или есть способ лучше? Этот запрос находится в представлении API, и я действительно хотел бы просто передать массив значений, таких как `` ['city1', 'city2', ...], который мой JavaScript может проанализировать на стороне клиента.