0

假设我有一个电影数据库。我想将昆汀·塔伦蒂诺的电影映射到昆汀·塔伦蒂诺。但鉴于昆汀只制作历史剧(认为这是一种类型),我应该只能将历史剧映射到昆汀。我如何在不为该类型创建特殊模型的情况下实现这一目标?考虑你有一个单一的流派模型。

4

1 回答 1

0

我会在 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'
            )
        ]
于 2020-01-07T10:21:45.197 回答