Как, например, у меня есть 3 модели: Пользователь, Событие, Участник
class Event(..):
creator = models.ForeignKey('users.User', on_delete=models.CASCADE, related_name='event_creator_set')
class Participator(..):
status = models.CharField(..)
event = models.ForeignKey('events.Event', on_delete=models.CASCADE, related_name='participators_set')
user = models.ForeignKey('users.User', on_delete=models.CASCADE, related_name='participations_set')
Я хочу получить всех пользователей, а также получить информацию о связи с конкретным событием.Если пользователь даже не является участником -> вернуть статус из моделей Участника, иначе -> null Вот мои запросы:
e = Event.objects.first()
users = User.objects.annotate(is_participationg=Case(When(id__in=e.participators_set.values_list('user__id', flat=True), then=Value(True)), default=Value(False), output_field=BooleanField()))
Так что я могу знать, участвует ли пользователь в определенном событии.Как я могу получить статус участника в then
и None в default
?