Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 29, 2011 15:17:16

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

поле выбора mptt модели в админке

Приветствую всех, такая проблема.

Есть две модели Рубрика и Шаблон вот их код
models.py

from django.db import models
from mptt.models import MPTTModel

class Rubricator(MPTTModel):
parent = models.ForeignKey('self', null=True, blank=True, related_name='children')
name = models.CharField(max_length=50)

class Meta:
ordering = ('tree_id', 'lft')

class Template(models.Model):
name = models.CharField(max_length = 255, unique = True)
descr = models.TextField(blank = True)
rubricator = models.ForeignKey(Rubricator)
админ классы этих моделей
admin.py
class RubricatorAdmin(MPTTModelAdmin):
search_fields = ['name']
def formfield_for_foreignkey(self, db_field, request, **kwargs): # это что бы при добавлении/изменении рубрики список выбора из поля parent был в виде дерева
field = super(RubricatorAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs)
if db_field.name == 'parent':
field.choices = [('','---------')]
for rubric in Rubricator.objects.all():
field.choices.append((rubric.pk, '+--'*(rubric.level) + rubric.name))
return field

class TemplateAdmin(admin.MidelAdmin):
search_fields = ['name']
проблема следующая:
в админке рубрикатора в поле parent элементы выстроены по иерархии, а в поле rubricator у модели Template просто список. Смотри приложенный файл

Вопрос:
Как сделать иерархический вид у rubricator в админке модели Template?

В прикрепленном файле скрины двух список что бы было нагляднее



Отредактировано (Июнь 29, 2011 15:21:14)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version