Сделать логические значения, редактируемые в list_display?
Я хотел бы, чтобы логическое поле редактировалось в моем списке списков admin в Django. Вместо этого у меня есть неотредактированные значки:
![enter image description here]()
Мой код выглядит так:
# Model
class Task(models.Model):
...
is_finished = models.BooleanField()
# Admin
list_display = (..., 'is_finished')
Я не включил is_finished
в кортеж readonly_fields
в admin.py
, поэтому я удивлен, что он по умолчанию не редактируется. Что я делаю не так?
Ответы
Ответ 1
ModelAdmin.list_editable
- это то, что вам нужно, см. Его документ здесь. Ниже приведен пример:
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"