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'),
)