Ich habe ein StackedInline mit einem Modell, das mehrere Felder enthält (einschließlich einer ‚id‘ Feld):Django Admin, fehlende ID Nur-Lese-Feld in StackedInline
class MyInline(admin.StackedInline):
model= myModel
fields = ('id', 'foo', 'bar')
Dies zeigt die drei editierbaren Felder wie erwartet jedoch, bei der Einstellung diejenigen readonly
:
class MyInline(admin.StackedInline):
model= myModel
fields = ('id', 'foo', 'bar')
readonly_fields= ('id','foo','bar')
das id-Feld fehlt, nur die foo
und bar
erscheinen (als nicht editierbar).
Dieses Verhalten geschah, als StackedInline
Verwendung mit TabularInline
funktioniert gut
Warum ist Id fehlt und wie kann ich es als ein Nur-Lese-Feld hinzufügen?
Ist eine Objekt-ID nicht immer readonly? – marcusshep
Welche Version von Django verwendest du? Mit Django 1.11 kann ich 'id' nicht in' fields' setzen, ohne es auch in 'readonly_fields' zu setzen, weil es eine' FieldError'-ID auslöst, die nicht für ein * -Modellformular angegeben werden kann, da es ein nicht editierbares Feld ist. es funktioniert gut. –
Es ist ein benutzerdefiniertes charField-Set als Primärschlüssel, das im Admin als bearbeitbares Feld angezeigt wird. Ich habe django 1.11 und das Problem ist genau das Gegenteil, das Feld versteckt, wenn ich versuche, es nur zu lesen – angrykoala