Определите максимальное отношение в ManyToManyField - PullRequest
2 голосов
/ 04 октября 2019

Модель истории имеет связь ManyToMany с моделью жанра. Я хочу иметь возможность установить максимум 2 жанра на одну историю. Как это сделать? PS используя serilaizer, viewsets и я использую forwardfunc в миграциях для обеспечения жанров по умолчанию в DB

class Story(models.Model):
    ...
    genre = models.ManyToManyField(Genre)

class Genre(models.Model):
    name = models.CharField(max_length=255)

1 Ответ

1 голос
/ 04 октября 2019

попробуйте

class Story(models.Model):
    # model code
    genre = models.ManyToManyField(Genre)

    def clean(self, *args, **kwrgs):
         if self.genre.count() > 2:
           raise ValidationError('Error')
         super(Story, self).clean(*args, **kwargs)

надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...