Django==1.10
Я хочу использовать models.BooleanField
в качестве forms.ChoiceField
в приложении admin
.
models.py
from __future__ import unicode_literals
from django.db import models
class MyModel(models.Model):
name = models.CharField(max_length=255)
bool_field = models.BooleanField()
admin.py
from django.contrib import admin
from .models import MyModel
from .forms import MyModelForm
@admin.register(MyModel)
class TemplateAdmin(admin.ModelAdmin):
form = MyModelForm
list_display = ['name','bool_field']
forms.py
from django import forms
class MyModelForm(forms.ModelForm):
bool_choices = ((True, "Yes"),(False, "No"))
bool_field = forms.ChoiceField(choices=bool_choices)
Все отображается так, как я хочу, но фактически каждый раз, когда я сохраняю экземпляр, ссылка History
показывает, что bool_field
был изменен, даже если это не так.
Я пытался изменить bool_field
на TypedChoiceField
с coerce=bool
, но это не сработало.После того, как я изменил и сохранил экземпляр, значение остается прежним.
Пожалуйста, сообщите, что я, вероятно, должен изменить, чтобы History
работал правильно.