P
27 січня 2023 р. 12:35

Как создать уникальное значение поля на основе существующих значений

Вот например:
class Tovar

  1. class Tovar(models.Model):
  2. title=models.CharField('Наименование',max_length=150)
  3. price=models.FloatField()
  4. uniqfield= .....?
  5.  

Вот абстрактный пример. Мне надо, чтобы в uniqfield сразу попадали значения при заполнении и обноновлении записей.
Например, "Товар1" цена 100.50, uniqfield="Товар1_100.50, "Товар1" цена 200, uniqfield="Товар1_200" Типа слага, только вычисляемый из двух полей:)
Можно ли так сделать на уровне модели? Спасибо.
p.s. Буду признателен за пример кода:)

2

Вам це подобається? Поділіться в соціальних мережах!

2
NSProject
  • 28 січня 2023 р. 01:31

В принципе это можно сделать так:

  1. def unique_field(self):
  2. return '{0}_{1}'.format(self.title, self.price)
  3.  
  4. class Tovar(models.Model):
  5. title=models.CharField('Наименование',max_length=150)
  6. price=models.FloatField()
  7. uniqfield= models.CharField(default=unique_field, unique=True)

Вот только если попадётся два одинаковых товара то будет ошибка.

    P
    • 28 січня 2023 р. 14:04

    ольшое спасибо!

      Коментарі

      Only authorized users can post comments.
      Please, Log in or Sign up
      • Останні коментарі
      • Evgenii Legotckoi
        16 квітня 2025 р. 17:08
        Благодарю за отзыв. И вам желаю всяческих успехов!
      • IscanderChe
        12 квітня 2025 р. 17:12
        Добрый день. Спасибо Вам за этот проект и отдельно за ответы на форуме, которые мне очень помогли в некоммерческих пет-проектах. Профессиональным программистом я так и не стал, но узнал мно…
      • AK
        01 квітня 2025 р. 11:41
        Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
      • Evgenii Legotckoi
        09 березня 2025 р. 21:02
        К сожалению, я этого подсказать не могу, поскольку у меня нет необходимости в обходе блокировок и т.д. Поэтому я и не задавался решением этой проблемы. Ну выглядит так, что вам действитель…
      • VP
        09 березня 2025 р. 16:14
        Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…