Django + Python Ссылка на связанные данные из Q Object

У меня есть две модели и объект Q.

Как я могу получить связанные данные (поле под названием GROUP) и добавить их в мой сериализованный набор результатов, показанный ниже?

Заранее спасибо!

Модель A

class WaiverAdult(models.Model):

    first_name = models.CharField(max_length=50)
    middle_initial = models.CharField(max_length=50, blank=True)
    last_name = models.CharField(max_length=50, blank=True)
    

Модель B

class CheckIns(models.Model):

    adult = models.ForeignKey(
        WaiverAdult, on_delete=models.CASCADE, blank=True, null=True, related_name='adult_checkin')
    checkin = models.DateTimeField(blank=True, null=True)
    checkout = models.DateTimeField(blank=True, null=True)
    group = models.IntegerField(blank=True, null=True)
   

Query

group_adults = serializers.serialize('jsonl', WaiverAdult.objects.filter(
                Q(adult_checkin__checkin__gte=today()) & Q(adult_checkin__group__exact=group)), fields=('first_name', 'last_name'))

Вы можете аннотировать это, с:

from django.db.models import Value

group_adults = serializers.serialize(
    'jsonl',
    WaiverAdult.objects.filter(
        adult_checkin__checkin__gte=today(), adult_checkin__group=group
    ).annotate(group=Value(group)),
    fields=('first_name', 'last_name', 'group'),
)
Вернуться на верх