Форум сайта python.su
Всем доброго времени суток!
Не знаю, может быть странный вопрос, но у меня после изменения модели админка перестала показывать поля модели. То есть в общем списке они показываются, а при открытии какой-нибудь конкретной модели просто пустое окно админки с кнопками “удалить”, “сохранить” и т.п.
Изменения в модели тоже довольно простые: удалил поле TextField, добавил поле ForeignKey. Миграции сделал, в admin.py упоминание старого поля тоже удалил.
Офлайн
Код атачте. Админку, модель.
Отредактировано mirak (Май 30, 2016 16:36:29)
Офлайн
Модель (закомментированное поле text_doc - это то, что было раньше):
class DocumentModel(models.Model):
title = models.CharField(max_length=100, db_index=True)
url_address = models.CharField(max_length=255, blank=True, null=True, db_index=True)
text_document = models.ForeignKey(DocumentTextModel, blank=True, null=True, verbose_name=u'Контент', db_index=True)
#text_doc = models.TextField(blank=True, null=True, verbose_name=u'Контент')
visible_left = models.BooleanField(verbose_name=u'Левый столбец', db_index=True)
visible_right = models.BooleanField(default=True, verbose_name=u'Правый столбец', db_index=True)
visible_middle = models.BooleanField(default=True, verbose_name=u'Центр главной страницы', db_index=True)
changedate = models.DateTimeField(auto_now=True, verbose_name=u'Дата изменения', db_index=True)
Админка:
class DocumentAdminModel(admin.ModelAdmin):
ordering =
list_display = ('title', ‘changedate’, )
list_filter = ('changedate')
# resize CharField in Form
formfield_overrides = {
# Django enforces maximum field length of 14 onto ‘title’ field when user is editing in the change form
models.CharField: {'widget': forms.TextInput(attrs={'size':'300'})},
}
# search in model
search_fields =
Офлайн
Видимо то, что в квадратных скобках здесь не показывается, поэтому продублирую админку с круглыми скобками:
class DocumentAdminModel(admin.ModelAdmin):
ordering = ('changedate')
list_display = ('title', ‘changedate’, )
list_filter = ('changedate')
# resize CharField in Form
formfield_overrides = {
# Django enforces maximum field length of 14 onto ‘title’ field when user is editing in the change form
models.CharField: {'widget': forms.TextInput(attrs={'size':'300'})},
}
# search in model
search_fields = ('title', )
Офлайн
А че, код отформатировать это для слабаков?
Офлайн
Ага, нашел)
class DocumentModel(models.Model): title = models.CharField(max_length=100, db_index=True) url_address = models.CharField(max_length=255, blank=True, null=True, db_index=True) text_document = models.ForeignKey(DocumentTextModel, blank=True, null=True, verbose_name=u'Контент', db_index=True) #text_doc = models.TextField(blank=True, null=True, verbose_name=u'Контент') visible_left = models.BooleanField(verbose_name=u'Левый столбец', db_index=True) visible_right = models.BooleanField(default=True, verbose_name=u'Правый столбец', db_index=True) visible_middle = models.BooleanField(default=True, verbose_name=u'Центр главной страницы', db_index=True) changedate = models.DateTimeField(auto_now=True, verbose_name=u'Дата изменения', db_index=True) class DocumentAdminModel(admin.ModelAdmin): ordering = ['changedate'] list_display = ('title', 'changedate', ) list_filter = ('changedate') # resize CharField in Form formfield_overrides = { # Django enforces maximum field length of 14 onto 'title' field when user is editing in the change form models.CharField: {'widget': forms.TextInput(attrs={'size':'300'})}, } # search in model search_fields = ['title', ]
Офлайн
Видимо ошибка не в моделях?
Офлайн
На вид ничего криминального. По крайней мере мне не видно, возможно кто-то более опытный знает в чем проблема, попробуйте поспрашивать еще в этих местах
https://vk.com/django_framework
http://ru.stackoverflow.com/
https://www.reddit.com/r/django
Офлайн