#django #django-admin
Вопрос:
У меня есть три модели
class Offer:
class OfferBonus:
offer_bonus_category = models.ManyToManyField(OfferBonusCategory)
offer = models.ForeignKey(Offer, on_delete=models.CASCADE, blank=True, null=True)
class OfferBonusCategories:
category_title = models.CharField(max_length=60,null=True, blank=True)
category_description = models.TextField(null=True, blank=True)
Каждое предложение может иметь несколько категорий предложений, и каждое предложение может иметь несколько категорий предложений. Предложение 1 может содержать один бонус в категориях A и B и другой бонус в категориях C и D. Предложение 1 не может содержать предложение как в A, так и в C, а также другое предложение в B и C. Существование первого предложения в A и C предотвратило бы последующее предложение, добавленное в A или C при добавлении в интерфейсе администратора.
Поэтому мой вопрос заключается в том, как ограничить предложение, чтобы оно учитывало другие записи в предложении, чтобы каждая категория предложения могла использоваться только один раз во всех предложениях. Есть ли способ сделать это из коробки в администраторе Django, где отображаемые категории будут отключены при последующем добавлении записей?
Если это нужно сделать на заказ, не могли бы вы, пожалуйста, направить меня по «правильному пути»? Я новичок в Python и Django, поэтому не знаю, что искать.