Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 11, 2011 22:58:19

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

отображение списка в админке

Вообще лучшее, что могу порекомендовать - сесть и почитать исходники админки, при этом придет самое лучшее понимание - то, что вы не узнаете из документации и книжек.



Офлайн

#2 Фев. 11, 2011 23:13:02

EvgIq
От:
Зарегистрирован: 2009-11-14
Сообщения: 57
Репутация: +  0  -
Профиль   Отправить e-mail  

отображение списка в админке

Спасибо. Смотреть исходники всегда полезно :)
Только Ваш ответ для moro не подходит.
Ему надо в модели Pupil просто создать вычисляемое поле school, так по моему.
Если я опять что-то не правильно понял, то не могли бы Вы листинг на основании его примера полностью привести.
(у него там School не связана напрямую с Pupil)



Отредактировано (Фев. 11, 2011 23:25:37)

Офлайн

#3 Фев. 11, 2011 23:38:08

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

отображение списка в админке

class PupilAdmin(admin.ModelAdmin):

list_display = ('Clas', 'FIO', 'school')

def school(self, obj):
return str(obj.Clas.school.number)



Офлайн

#4 Фев. 11, 2011 23:45:05

EvgIq
От:
Зарегистрирован: 2009-11-14
Сообщения: 57
Репутация: +  0  -
Профиль   Отправить e-mail  

отображение списка в админке

regall
Спасибо, теперь все ясно.
Но я бы в модель это вынес, ему же надо будет не только в админке это показывать.
ЗЫ хотя я не прав. Задачу он ставил именно такую :)



Отредактировано (Фев. 11, 2011 23:49:33)

Офлайн

#5 Фев. 11, 2011 23:50:38

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

отображение списка в админке

Спорный вопрос, хорошо ли делать денормализацию данных, имея такие ограниченные сведения о задаче. Это уже надо смотреть по задачам приложения. Возможно целесообразнее будет использовать кеш.



Офлайн

#6 Фев. 12, 2011 00:03:35

EvgIq
От:
Зарегистрирован: 2009-11-14
Сообщения: 57
Репутация: +  0  -
Профиль   Отправить e-mail  

отображение списка в админке

regall
Нет, я не денормализацию имел ввиду (ее предлагали уже выше), а:
admin.py

...
class PupilAdmin(admin.ModelAdmin):
list_display = ('Clas', 'FIO','school')
#def school(self, obj):
# return str(obj.Clas.school.number)
...
models.py
...
class Pupil(models.Model):
Clas = models.ForeignKey(Clas)
FIO = models.CharField(max_length = 60)

def school(self): # сюда т.е. вставить
return str(self.Clas.school.number)

def __unicode__(self):
return self.FIO
...



Офлайн

#7 Фев. 12, 2011 18:41:00

moro
От:
Зарегистрирован: 2011-01-27
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

отображение списка в админке

EvgIq, regall спасибо за ответы.
оба варианта заработали.. выбрал вариант regall



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version