Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 26, 2015 10:25:03

scurramalum
Зарегистрирован: 2014-07-22
Сообщения: 38
Репутация: +  1  -
Профиль   Отправить e-mail  

@property у модели

Добрый день
Прошу помощи в реализации, или поиска решения по данному вопросу.

Есть модель, допустим:

class MyModel(model.Model):
    article = model.CharField(....)
    name = model.CharField()

Необходимо, чтобы в админке появилось еще свойство “количество”, которое будет подгружаться из другой базы (точнее даже будет являться результатом вызова SQL функции).

сделал подобным образом:
......
    @property
    def qty(self):
        from myfile import myfunction #импортирую функцию Python, в которой идет вызов прямой SQL функции
        return myfunction(self.article)

пока все работает. Я даже при добавлении в админку могу добавить это поле. Но есть пара ньюансов, которые я не могу решать:
1 - как изменить наименование колонки в админской части (сейчас оно отображается как и наименовании свойства - “qty”
2 - мне необходимо реализовать фильтр по этому полю, то есть когда я вызываю MyModel.objects.filter(qty=1), он выдает ошибку, по которой я понимаю, что данного поля нет в БД (оно и понятно), но как реализовать подобную возможность?


И еще 1 вопрос:
Как в админке, при открытии заходе на страницу представления этой модели, выводить какое то сообщение?

Заранее спасибо.

Офлайн

#2 Окт. 26, 2015 14:31:28

botinag
Зарегистрирован: 2014-02-20
Сообщения: 179
Репутация: +  35  -
Профиль   Отправить e-mail  

@property у модели

1. short_description
2. по-простому - никак. Смотрите в сторону extra
3. видимо стоит гуглить в сторону messages

— upd —
в 1 пункте стоит отметить, что short_description “не дружит” с декоратором, поэтому придется вносить изменения в код например как здесь.

Отредактировано botinag (Окт. 26, 2015 14:43:51)

Офлайн

#3 Окт. 26, 2015 19:54:56

scurramalum
Зарегистрирован: 2014-07-22
Сообщения: 38
Репутация: +  1  -
Профиль   Отправить e-mail  

@property у модели

botinag
1. short_description2. по-простому - никак. Смотрите в сторону extra3. видимо стоит гуглить в сторону messages— upd —в 1 пункте стоит отметить, что short_description “не дружит” с декоратором, поэтому придется вносить изменения в код например как здесь.


Спасибо за идеи!
правда по 3 пункту ничего не понял, но буду разбираться…

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version