diff --git a/django/django/db/models/fields/__init__.py b/django/django/db/models/fields/__init__.py
index afa1c13..fc5c968 100644
a
|
b
|
class BooleanField(Field):
|
393 | 393 | return bool(value) |
394 | 394 | |
395 | 395 | def formfield(self, **kwargs): |
396 | | defaults = {'form_class': forms.BooleanField} |
| 396 | if self.choices: |
| 397 | include_blank = self.null or not (self.has_default() or 'initial' in kwargs) |
| 398 | defaults = {'choices': self.get_choices(include_blank=include_blank)} |
| 399 | else: |
| 400 | defaults = {'form_class': forms.BooleanField} |
397 | 401 | defaults.update(kwargs) |
398 | 402 | return super(BooleanField, self).formfield(**defaults) |
399 | 403 | |