1

我正在编写一个名为的模型talk,它有两个字段titleslug. slug是一个我不希望用户能够编辑的字段,并且基于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所有内容,除了用户可以按照他们认为合适的方式编辑 slug 之外,一切都可以正常工作。

我希望 slug 字段出现在管理员中,但显示为灰色,以便用户可以看到 slug,但不能更改它。

4

1 回答 1

0

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

于 2013-09-30T16:01:27.567 回答