Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Easily add an empty choice to a Django ChoiceField
from django import forms
class EmptyChoiceField(forms.ChoiceField):
def __init__(self, choices=(), empty_label=None, required=True, widget=None, label=None,
initial=None, help_text=None, *args, **kwargs):
# prepend an empty label if it exists (and field is not required!)
if not required and empty_label is not None:
choices = tuple([(u'', empty_label)] + list(choices))
super(EmptyChoiceField, self).__init__(choices=choices, required=required, widget=widget, label=label,
initial=initial, help_text=help_text, *args, **kwargs)
Copy link

cristihainic commented Sep 16, 2016


Copy link

ghost commented Apr 24, 2019

Nice, thanks!

Copy link

alex-re commented Jan 23, 2021

thanks for your nice idea after 10 years !

Copy link

ddahan commented May 10, 2022

thanks for your nice idea after 12 years !

Copy link

davidbgk commented May 10, 2022


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment