Jimbo
Май 30, 2016 11:58:01
Всем доброго времени суток!
Не знаю, может быть странный вопрос, но у меня после изменения модели админка перестала показывать поля модели. То есть в общем списке они показываются, а при открытии какой-нибудь конкретной модели просто пустое окно админки с кнопками “удалить”, “сохранить” и т.п.
Изменения в модели тоже довольно простые: удалил поле TextField, добавил поле ForeignKey. Миграции сделал, в admin.py упоминание старого поля тоже удалил.
mirak
Май 30, 2016 16:35:59
Код атачте. Админку, модель.
Jimbo
Май 31, 2016 15:36:28
Модель (закомментированное поле 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 =
Jimbo
Май 31, 2016 15:43:39
Видимо то, что в квадратных скобках здесь не показывается, поэтому продублирую админку с круглыми скобками:
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', )
mirak
Май 31, 2016 15:49:26
А че, код отформатировать это для слабаков?
Jimbo
Июнь 1, 2016 11:29:37
Ага, нашел)
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', ]
Jimbo
Июнь 6, 2016 10:36:49
Видимо ошибка не в моделях?
mirak
Июнь 6, 2016 11:16:58
На вид ничего криминального. По крайней мере мне не видно, возможно кто-то более опытный знает в чем проблема, попробуйте поспрашивать еще в этих местах
https://vk.com/django_frameworkhttp://ru.stackoverflow.com/https://www.reddit.com/r/django