В Django 1.2 добавлена мета-опция "widgets" для моделей:
В вашем файле models.py укажите «варианты» для вашего логического поля:
BOOL_CHOICES = ((True, 'Yes'), (False, 'No'))
class MyModel(models.Model):
yes_or_no = models.BooleanField(choices=BOOL_CHOICES)
Затем в вашем файле forms.py укажите виджет RadioSelect для этого поля:
class MyModelForm(forms.ModelForm):
class Meta:
model = MyModel
widgets = {
'yes_or_no': forms.RadioSelect
}
Я протестировал это с базой данных SQLite, которая также хранит логические значения как значения 1/0, и, кажется, работает нормально без пользовательской функции принуждения.