Найти - Пользователи
Полная версия: отображение списка в админке
Начало » Django » отображение списка в админке
1 2
regall
Вообще лучшее, что могу порекомендовать - сесть и почитать исходники админки, при этом придет самое лучшее понимание - то, что вы не узнаете из документации и книжек.
EvgIq
Спасибо. Смотреть исходники всегда полезно :)
Только Ваш ответ для moro не подходит.
Ему надо в модели Pupil просто создать вычисляемое поле school, так по моему.
Если я опять что-то не правильно понял, то не могли бы Вы листинг на основании его примера полностью привести.
(у него там School не связана напрямую с Pupil)
regall
class PupilAdmin(admin.ModelAdmin):

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

def school(self, obj):
return str(obj.Clas.school.number)
EvgIq
regall
Спасибо, теперь все ясно.
Но я бы в модель это вынес, ему же надо будет не только в админке это показывать.
ЗЫ хотя я не прав. Задачу он ставил именно такую :)
regall
Спорный вопрос, хорошо ли делать денормализацию данных, имея такие ограниченные сведения о задаче. Это уже надо смотреть по задачам приложения. Возможно целесообразнее будет использовать кеш.
EvgIq
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
...
moro
EvgIq, regall спасибо за ответы.
оба варианта заработали.. выбрал вариант regall
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB