Я бы хотел иметь возможность фильтровать отношения ТОЛЬКО в модели Django.
Вот как выглядят модели:
Identity(models.Model):
username = model.CharField(max_length=512, unique=True)
PaymentSource(models.Model):
identity = models.ForeignKey(
'identity.identity',
related_name='payment_sources',
on_delete='CASCADE',
blank=True,
)
deleted_at = models.DateTimeField(blank=True, null=True, default=None)
Также имеется полный код сериализатора для обоих.С помощью Identity, ссылающейся на PaymentSerializer
.
Как получить сериализатор Identity с DRF для передачи в качестве ответа, без включения каких-либо моделей PaymentSource
во внешний ключ, если deleted_at
не равно None?
Случаи разбиты:
1) There should only be 1 Identity object returned
2) If there are many payment sources with deleted_at set as None, then they should be shown within the Identity.payment_sources
3) If there are none, Identity should still be returned. However an empty list should be returned from Identity.payment_sources