есть поле type, в котором хранится тип документа из choices. Надо сделать проверку того, что у текущего юзера есть хотя бы один документ с каждым типом (passport, inn, snils и тд).
Единственный вариант который придумал это прописывать user.userdocument_set.filter(type=..).exists() для каждого типа документа. Есть способ сделать такую проверку одним запросом?
Придумать структуру БД так, чтобы это делалось одним запросом
Можно например обязать type не быть пустой))) не годится?)
Нет, суть в том, что UserDocument имеет внешний ключ на юзера. И надо проверить, что у юзера есть запись в связанной таблице
можешь через сабквери сделать https://docs.djangoproject.com/en/3.2/ref/models/expressions/#subquery-expressions
у пользователя может быть больше одного документа каждого типа?
А как они хранятся?)))
И уникальный с fk на юзера
Обсуждают сегодня