Один ко многим запросам в Джанго - PullRequest
0 голосов
/ 14 марта 2019

Это мой объект City:

class City(Base):
    country = models.ForeignKey(Country, on_delete=models.CASCADE)
    name = models.CharField(max_length=255)
    latitude = models.FloatField()
    longitude = models.FloatField()

А это мой пользователь:

class User(AbstractBaseUser, PermissionsMixin, Base):
    username = models.CharField(db_index=True, null=False, unique=True, max_length=255)
    mobile = models.CharField(db_index=True, max_length=100, null=True, unique=True)
    city = models.ForeignKey(City, on_delete=models.CASCADE, null=True)

Как мне запрашивать города, в которых более 1 пользователя?

1 Ответ

2 голосов
/ 14 марта 2019

Использовать аннотации:

from django.db.models import Count
City.objects.annotate(user_count=Count("user")).filter(user_count__gt=1)
...