使字段不可编辑不允许我预先填充字段

时间:2013-09-30 15:18:40

标签: python django django-models

我正在编写一个名为talk的模型,其中包含两个字段titleslugslug是一个我不希望用户能够编辑并根据title预先填充的字段。该模型如下所示:

class talk(models.Model):
    title = models.CharField(max_length = 255)
    slug = models.SlugField(editable=False)

在我admin.py我有以下内容:

class talkAdmin(admin.ModelAdmin):
    prepopulated_fields = {"slug": ("title",)}

尝试访问CMS中的模型会出现错误Exception Value: u"Key 'slug' not found in Form"。如果我删除editable=False,一切都按预期工作,除非用户可以根据需要编辑slu ..

我希望slug字段显示在admin中但是显示为灰色,这样用户就可以看到slug,但无法更改它。

1 个答案:

答案 0 :(得分:0)

您应该在ModelAdmin类中使用readonly_fields,而不是在模型中使用editable