django民意调查教程管理员没有显示模型编辑

时间:2013-08-13 20:35:41

标签: django admin

我正在关注Django民意调查教程,我只是改变了一些模型:https://docs.djangoproject.com/en/1.5/intro/tutorial02/

我想知道为什么当我添加/编辑/更换药丸时,我的警报不会显示在管理界面中。管理员仅显示编辑名称,而不是相关的警报对象。 根据教程,它应该显示为内联。

admin.py:

from django.contrib import admin
from pills.models import Alarm,Pill

class AlarmInline(admin.TabularInline):
    model = Alarm
    extra = 3

class PillAdmin(admin.ModelAdmin):
    fieldsets = [
        ('Drug information',               {'fields': ['name']}),
    ]
inlines = [AlarmInline]
list_display = ('name')


admin.site.register(Pill, PillAdmin)

models.py

from django.db import models

class Pill(models.Model):
    name = models.CharField(max_length=200)
    def __unicode__(self):
        return self.name

class Alarm(models.Model):
    pill = models.ForeignKey(Pill)
    time = models.DateTimeField('Alarm time')
    def __unicode__(self):
        return self.time.strftime('%c')

我所有的模特都验证了。我尝试重建数据库等... 有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果你正确地复制了上面的代码,问题就在于你的缩进。

应该是:

class PillAdmin(admin.ModelAdmin):
    fieldsets = [
        ('Drug information',               {'fields': ['name']}),
    ]
    inlines = [AlarmInline]
    list_display = ('name')

inlines是admin类的一个属性 - 它和list_display需要是类定义的一部分,而不是模块级别的语句。