Приветствие для всех.
Я работаю с Django
и я нуждаюсь в том, чтобы получить список с аккуратными городами из-за той, которой больше жителей он обладает, здесь оставляю модели, которых я использую.
class Ciudad(models.Model):
codigo = models.CharField(max_length=4,)
nombre = models.CharField(max_length=128)
class Persona(models.Model):
ciudad_residencia = models.ForeignKey(Ciudad, null=True, blank=True,
verbose_name=_("ciudad de residencia*"), on_delete=models.PROTECT)
Идея состоит в том, чтобы мочь получать имя 5 городов с большим числом людей и показывать имя города и рядом с этим число людей в таблице в reporlab
, поэтому я это храню в списке.
Я использую цикл for
но мне хотелось бы знать, существует ли более оптимальный способ это делать, продолжение код поездки.
ciudades = Ciudad.objects.all()
personas = Personas.objects.all()
contador_registros = 0
for ciudad in ciudades:
personas_ciudad = personas.filter(ciudad_residencia=ciudad)
if personas_ciudad.count() > 0:
tabla_personas_ciudad.append(
[ciudad.nombre,
personas_ciudad.count()
]
)
contador_registros = contador_registros + 1
if contador_registros >= 5:
break
Кроме того не, как приказывание этого меньшему числу людей большего в городе.