2013-08-07 17 views
16

Ich möchte, dass ein boolesches Feld in der Listenanzeige meines Django-Administrators editierbar ist. Stattdessen habe ich nicht bearbeitbaren Symbole:Boolesche Werte in list_display editierbar machen?

enter image description here

Mein Code sieht wie folgt aus:

# Model 
class Task(models.Model): 
    ... 
    is_finished = models.BooleanField() 
# Admin 
list_display = (..., 'is_finished') 

ich nicht is_finished im readonly_fields Tupel in admin.py aufgenommen haben, so bin ich überrascht, dass es isn Standardmäßig nicht editierbar Was mache ich falsch?

+0

Haben Sie 'is_finished' in' list_editable' gesetzt? –

Antwort

24

ModelAdmin.list_editable ist, was Sie brauchen, finden Sie in seinem Dokument here. Unten haben Sie auch ein Beispiel:

class TaskAdmin(models.ModelAdmin): 
    list_display = (..., 'is_finished') 
    list_editable = ('is_finished',) # this MUST only contain fields that also are in "list_display" 
    #list_display_links = ('foo', 'bar') # this MUST NOT contain a field in common with "list_editable" 
+0

Wo sollte ich die Aktion anheften, die ausgeführt werden sollte, wenn der Status geändert wurde? save_model in django admin? – andi

Verwandte Themen