Django Модель - ManyToManyField ограничивает выбор нескольких элементов из одной категории - PullRequest
0 голосов
/ 04 марта 2020

Я хочу ограничить выбор двух элементов из одной категории и иметь возможность ограничить количество выбранных элементов.

emple models.py

class Category(models.Model):
 item_categ = models.CharField()


class Product(models.Model):
  item = models.CharField()
  item_categ = models.ForeignKey(Category)


class CombineProducts(models.Model):
  combined = models.ManyToManyField(Product)

Я хочу, чтобы пользователь не был возможность выбрать два item с одинаковым item_categ и ограничить до 3 продуктов Как я могу это сделать? Спасибо

1 Ответ

0 голосов
/ 04 марта 2020

Javascript подхода

Это связано с DOM, поэтому вам, вероятно, придется использовать Javascript вместо Python, если только вы не хотите, чтобы из вашего бэкэнда появлялись отвратительные сообщения об ошибках, сообщающие пользователю, что он не может сделать it.

Лог c прост: вы будете подсчитывать все выбранные итэны и подсчитывать их по категориям. Если вы достигнете любого из ваших правил, вы можете запретить выбор

Подход к серверу

Если вы хотите сделать это в бэкэнде (безобразно), вы можете просто рассчитывать на количество ваших запросов выбранных итенов и выбранных итенов по категориям и отправить пользователя обратно к сообщению с некоторым сообщением об ошибке, сообщающим, что он не могу этого сделать.

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