Задать вопрос
JawsIk
@JawsIk
Python Django, Lua, ЧПУ-станки(ArtCam, Aspire)

Django: Как сделать модель с уникальными зависимостями?

Ситауция такая. Есть несколько простых моделей:
class TypeProfile(models.Model):
    """ Модель профиля """
 
    title = models.CharField(max_length=30, verbose_name='Название профиля', db_index=True)
    description = models.CharField(max_length=300, verbose_name='Описание')
 
class TypeFacade(models.Model):
    """ Вид фасада """
    
    title = models.CharField(max_length=30, verbose_name='Вид фасада', db_index=True)
    description = models.CharField(max_length=300, verbose_name='Описание')

И есть модель формирования цены.
class Price(models.Model):
    """ Ценник """
    name_profile = models.ForeignKey(TypeProfile, on_delete=models.PROTECT, verbose_name='Модель профиля')
    type_facade = models.ForeignKey(TypeFacade, on_delete=models.PROTECT, verbose_name='Вид фасада')
    stain_price = models.DecimalField(max_digits=8, decimal_places=2, blank=True, verbose_name='Цена морилка')
    enamel_price = models.DecimalField(max_digits=8, decimal_places=2, blank=True, verbose_name='Цена эмаль')
    description = models.CharField(max_length=300, verbose_name='Описание')

Как сделать последнюю (ценник) чтобы при формировании новой записи производилась проверка, а может быть уже было такое сочетание name_profile + type_facade?

Для примера.
Есть профили: 1,2,3,4
Есть фасады: a,b,c,d

При формировании ценника должна быть всего одна запись 1a, 1b, 1c, 1d и т.д. т.е. 2a, 2b, 2c, 2d ...
И если ещё раз при формировании ценника получается комбинация например 2b, оно ругалось и говорило, что мол такое уже есть.

Надеюсь понятно объяснил. С уважением.

p.s. это в примере 2 зависимости, а вообще их может быть и 3 и больше.
  • Вопрос задан
  • 87 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы