У меня сложная проблема, надеюсь, ваша помощь, пожалуйста.
У меня есть модель с именем Place
. В этой модели у меня есть поле с именем address_component
. Это поле содержит массив себя :
Пример, два объекта, например:
Место (id = 1, name = "USA", types = "страна"", address_components = [])
Место (id = 2, name =" San Doria ", типы =" city ", address_components = [1])
class Place(models.Model):
PLACE_TYPES = (
('country', "Country"),
('city', "City"),
('street', "Street")
)
name = models.CharField(max_length=255)
types = models.CharField(max_length=100, choices=PLACE_TYPES)
address_components = ArrayField(models.CharField(max_length=100), size=10, default=list, blank=True)
Теперь я хочу упорядочить набор запросов мест путем подсчета количества мест, в которых больше всего адресных_компонентов
Это моя попытка получить порядок наборов запросов стран по количеству городов в нем, но не успех
Place.objects.filter(types='country').annotate(cities_in_count=Count('address_components')).order_by('cities_in_count')