Django==1.10
我想在models.BooleanField
应用中将forms.ChoiceField
用作admin
。
from __future__ import unicode_literals
from django.db import models
class MyModel(models.Model):
name = models.CharField(max_length=255)
bool_field = models.BooleanField()
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']
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
的{{1}}更改为TypedChoiceField
,但是效果不佳。在更改并保存实例后,该值保持不变。
请告知我可能应该进行哪些更改,以使coerce=bool
正常工作。
答案 0 :(得分:1)
尝试并指定不需要bool_field
,就像这样:
bool_field = forms.ChoiceField(choices=bool_choices, required=False)