Сайт администратора Django: как вычислить значение поля из нескольких полей? - PullRequest
1 голос
/ 12 октября 2010

Мне интересно, есть ли способ вычислить поле на сайте администратора на основе объединения нескольких полей.

В основном у меня есть модель продукта с различными полями, связанными с различными атрибутами (цвет, размер), длина и т. д.)

Я хотел бы вычислить значение кода, чтобы объединить значения различных полей атрибута, например:

code = colour + "_" + size + "_" + length

Ответы [ 2 ]

0 голосов
/ 23 января 2011

посмотрите на ModelAdmin.prepopulated_fields

0 голосов
/ 12 октября 2010

Есть несколько способов сделать это. Я делал такие вещи в методе clean моих моделей:

def Product(models.Model)
    # field definitions here

    def clean(self):
        self.code = self.colour + "_" + self.size + "_" + self.length

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

...