Сопоставить определенные данные с моделями в Django - PullRequest
0 голосов
/ 06 января 2020

Скажем, у меня есть база данных mov ie. Я хочу сопоставить фильмы Квентина Тарантино с Квентином Тарантино. Но, учитывая, что Квентин делает только Исторические драмы (считают это жанром), я должен иметь возможность только сопоставить Исторические драмы с Квентином. Как мне добиться этого, не создавая особую модель только для этого жанра? Предположим, у вас есть особая модель жанра.

1 Ответ

0 голосов
/ 07 января 2020

Я бы добавил пользовательское ограничение для модели Director:

from django.db.models import F, Q, Model, ManyToManyField, CharField

class Director(Model):
    movies = ManyToManyField(Movie)
    genre = CharField(max_length=128)

    class Meta:
        constraints = [
            models.CheckConstraint(
                check=Q(genre=F(genre)),
                name='correct_genre'
            )
        ]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...