Skip to content

Instantly share code, notes, and snippets.

Embed
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)
@cristihainic

This comment has been minimized.

Copy link

@cristihainic cristihainic commented Sep 16, 2016

Thanks!!

@ghost

This comment has been minimized.

Copy link

@ghost ghost commented Apr 24, 2019

Nice, thanks!

@alex-re

This comment has been minimized.

Copy link

@alex-re alex-re commented Jan 23, 2021

thanks for your nice idea after 10 years !

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