Подсчет объектов на основе нескольких отношений - PullRequest
0 голосов
/ 15 июня 2019

У меня три модели;

class User(AbstractUser):
    id = UUIDField(primary_key=True, default=uuid.uuid4, editable=False)

class UserProfile(Model):
    id = UUIDField(primary_key=True, editable=False)
    user = OneToOneField(User, CASCADE)
    subscription = CharField(max_length=250, null=True, blank=True)

class Image(Model):
    id = UUIDField(primary_key=True, editable=False)
    owner = ForeignKey(User, on_delete=CASCADE, null=True)

Я хотел бы сосчитать все объекты Image, для которых подписка владельца не равна строке (например, 'free'). Возможно ли это?

1 Ответ

1 голос
/ 15 июня 2019

Вам нужно использовать поиск, который охватывает отношения .

image_count = Image.objects.exclude(owner__userprofile__subscription='free').count()
...