1

talkと の2 つのフィールドを持つtitleというモデルを作成していますslugslugユーザーが編集できるようにしたくないフィールドであり、に基づいて事前入力されてい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すると、必要に応じて機能します。

スラッグ フィールドを管理画面に表示したいが、ユーザーがスラッグを見ることはできるが変更できないようにグレー表示にしたい。

4

1 に答える 1

0

readonly_fieldsモデルではなく、ModelAdmin クラスで使用する必要がありますeditable

于 2013-09-30T16:01:27.567 に答える