Index: django/contrib/localflavor/us/forms.py
===================================================================
--- django/contrib/localflavor/us/forms.py	(revision 6194)
+++ django/contrib/localflavor/us/forms.py	(working copy)
@@ -6,6 +6,7 @@
 from django.newforms.fields import Field, RegexField, Select, EMPTY_VALUES
 from django.utils.encoding import smart_unicode
 from django.utils.translation import ugettext
+from itertools import chain
 import re
 
 phone_digits_re = re.compile(r'^(?:1-?)?(\d{3})[-\.]?(\d{3})[-\.]?(\d{4})$')
@@ -94,6 +95,9 @@
     """
     A Select widget that uses a list of U.S. states/territories as its choices.
     """
-    def __init__(self, attrs=None):
+    def __init__(self, attrs=None, empty_label=u"---------"):
         from us_states import STATE_CHOICES
-        super(USStateSelect, self).__init__(attrs, choices=STATE_CHOICES)
+        select_choices = STATE_CHOICES
+        if empty_label is not None:
+            select_choices = chain(((u'', empty_label),), STATE_CHOICES)
+        super(USStateSelect, self).__init__(attrs, choices=select_choices)
Index: django/contrib/localflavor/de/forms.py
===================================================================
--- django/contrib/localflavor/de/forms.py	(revision 6194)
+++ django/contrib/localflavor/de/forms.py	(working copy)
@@ -5,6 +5,7 @@
 from django.newforms import ValidationError
 from django.newforms.fields import Field, RegexField, Select, EMPTY_VALUES
 from django.utils.translation import ugettext
+from itertools import chain
 import re
 
 id_re = re.compile(r"^(?P<residence>\d{10})(?P<origin>\w{1,3})[-\ ]?(?P<birthday>\d{7})[-\ ]?(?P<validity>\d{7})[-\ ]?(?P<checksum>\d{1})$")
@@ -20,9 +21,12 @@
     """
     A Select widget that uses a list of DE states as its choices.
     """
-    def __init__(self, attrs=None):
+    def __init__(self, attrs=None, empty_label=u"---------"):
         from de_states import STATE_CHOICES
-        super(DEStateSelect, self).__init__(attrs, choices=STATE_CHOICES)
+        select_choices = STATE_CHOICES
+        if empty_label is not None:
+            select_choices = chain(((u'', empty_label),), STATE_CHOICES)
+        super(DEStateSelect, self).__init__(attrs, choices=select_choices)
 
 class DEIdentityCardNumberField(Field):
     """
Index: django/contrib/localflavor/ch/forms.py
===================================================================
--- django/contrib/localflavor/ch/forms.py	(revision 6194)
+++ django/contrib/localflavor/ch/forms.py	(working copy)
@@ -6,6 +6,7 @@
 from django.newforms.fields import Field, RegexField, Select, EMPTY_VALUES
 from django.utils.encoding import smart_unicode
 from django.utils.translation import ugettext
+from itertools import chain
 import re
 
 id_re = re.compile(r"^(?P<idnumber>\w{8})(?P<pos9>(\d{1}|<))(?P<checksum>\d{1})$")
@@ -39,9 +40,12 @@
     """
     A Select widget that uses a list of CH states as its choices.
     """
-    def __init__(self, attrs=None):
+    def __init__(self, attrs=None, empty_label=u"---------"):
         from ch_states import STATE_CHOICES # relative import
-        super(CHStateSelect, self).__init__(attrs, choices=STATE_CHOICES)
+        select_choices = STATE_CHOICES
+        if empty_label is not None:
+            select_choices = chain(((u'', empty_label),), STATE_CHOICES)
+        super(CHStateSelect, self).__init__(attrs, choices=select_choices)
 
 class CHIdentityCardNumberField(Field):
     """
Index: django/contrib/localflavor/fi/forms.py
===================================================================
--- django/contrib/localflavor/fi/forms.py	(revision 6194)
+++ django/contrib/localflavor/fi/forms.py	(working copy)
@@ -6,6 +6,7 @@
 from django.newforms import ValidationError
 from django.newforms.fields import Field, RegexField, Select, EMPTY_VALUES
 from django.utils.translation import ugettext
+from itertools import chain
 
 class FIZipCodeField(RegexField):
     def __init__(self, *args, **kwargs):
@@ -18,9 +19,12 @@
     """
     A Select widget that uses a list of Finnish municipalities as its choices.
     """
-    def __init__(self, attrs=None):
+    def __init__(self, attrs=None, empty_label=u"---------"):
         from fi_municipalities import MUNICIPALITY_CHOICES
-        super(FIMunicipalitySelect, self).__init__(attrs, choices=MUNICIPALITY_CHOICES)
+        select_choices = MUNICIPALITY_CHOICES
+        if empty_label is not None:
+            select_choices = chain(((u'', empty_label),), MUNICIPALITY_CHOICES)
+        super(FIMunicipalitySelect, self).__init__(attrs, choices=select_choices)
 
 class FISocialSecurityNumber(Field):
     def clean(self, value):
Index: django/contrib/localflavor/cl/forms.py
===================================================================
--- django/contrib/localflavor/cl/forms.py	(revision 6194)
+++ django/contrib/localflavor/cl/forms.py	(working copy)
@@ -6,6 +6,7 @@
 from django.newforms.fields import RegexField, Select, EMPTY_VALUES
 from django.utils.translation import ugettext
 from django.utils.encoding import smart_unicode
+from itertools import chain
 
 
 class CLRegionSelect(Select):
@@ -13,9 +14,12 @@
     A Select widget that uses a list of Chilean Regions (Regiones)
     as its choices.
     """
-    def __init__(self, attrs=None):
+    def __init__(self, attrs=None, empty_label=u"---------"):
         from cl_regions import REGION_CHOICES
-        super(CLRegionSelect, self).__init__(attrs, choices=REGION_CHOICES)
+        select_choices = REGION_CHOICES
+        if empty_label is not None:
+            select_choices = chain(((u'', empty_label),), REGION_CHOICES)
+        super(CLRegionSelect, self).__init__(attrs, choices=select_choices)
 
 class CLRutField(RegexField):
     """
Index: django/contrib/localflavor/ar/forms.py
===================================================================
--- django/contrib/localflavor/ar/forms.py	(revision 6194)
+++ django/contrib/localflavor/ar/forms.py	(working copy)
@@ -7,6 +7,7 @@
 from django.newforms.fields import RegexField, CharField, Select, EMPTY_VALUES
 from django.utils.encoding import smart_unicode
 from django.utils.translation import ugettext
+from itertools import chain
 import re
 
 class ARProvinceSelect(Select):
@@ -14,9 +15,12 @@
     A Select widget that uses a list of Argentinean provinces/autonomous cities
     as its choices.
     """
-    def __init__(self, attrs=None):
+    def __init__(self, attrs=None, empty_label=u"---------"):
         from ar_provinces import PROVINCE_CHOICES
-        super(ARProvinceSelect, self).__init__(attrs, choices=PROVINCE_CHOICES)
+        select_choices = PROVINCE_CHOICES
+        if empty_label is not None:
+            select_choices = chain(((u'', empty_label),), PROVINCE_CHOICES)
+        super(ARProvinceSelect, self).__init__(attrs, choices=select_choices)
 
 class ARPostalCodeField(RegexField):
     """
Index: django/contrib/localflavor/br/forms.py
===================================================================
--- django/contrib/localflavor/br/forms.py	(revision 6194)
+++ django/contrib/localflavor/br/forms.py	(working copy)
@@ -7,6 +7,7 @@
 from django.newforms.fields import Field, RegexField, CharField, Select, EMPTY_VALUES
 from django.utils.encoding import smart_unicode
 from django.utils.translation import ugettext as _
+from itertools import chain
 import re
 
 try:
@@ -39,9 +40,12 @@
     A Select widget that uses a list of Brazilian states/territories
     as its choices.
     """
-    def __init__(self, attrs=None):
+    def __init__(self, attrs=None, empty_label=u"---------"):
         from br_states import STATE_CHOICES
-        super(BRStateSelect, self).__init__(attrs, choices=STATE_CHOICES)
+        select_choices = STATE_CHOICES
+        if empty_label is not None:
+            select_choices = chain(((u'', empty_label),), STATE_CHOICES)
+        super(BRStateSelect, self).__init__(attrs, choices=select_choices)
 
 class BRStateChoiceField(Field):
     """
Index: django/contrib/localflavor/in_/forms.py
===================================================================
--- django/contrib/localflavor/in_/forms.py	(revision 6194)
+++ django/contrib/localflavor/in_/forms.py	(working copy)
@@ -6,6 +6,7 @@
 from django.newforms.fields import Field, RegexField, Select, EMPTY_VALUES
 from django.utils.encoding import smart_unicode
 from django.utils.translation import gettext
+from itertools import chain
 import re
 
 
@@ -43,7 +44,10 @@
     A Select widget that uses a list of Indian states/territories as its
     choices.
     """
-    def __init__(self, attrs=None):
+    def __init__(self, attrs=None, empty_label=u"---------"):
         from in_states import STATE_CHOICES
-        super(INStateSelect, self).__init__(attrs, choices=STATE_CHOICES)
+        select_choices = STATE_CHOICES
+        if empty_label is not None:
+            select_choices = chain(((u'', empty_label),), STATE_CHOICES)
+        super(INStateSelect, self).__init__(attrs, choices=select_choices)
 
Index: django/contrib/localflavor/au/forms.py
===================================================================
--- django/contrib/localflavor/au/forms.py	(revision 6194)
+++ django/contrib/localflavor/au/forms.py	(working copy)
@@ -6,6 +6,7 @@
 from django.newforms.fields import Field, RegexField, Select, EMPTY_VALUES
 from django.newforms.util import smart_unicode
 from django.utils.translation import ugettext
+from itertools import chain
 import re
 
 PHONE_DIGITS_RE = re.compile(r'^(\d{10})$')
@@ -38,6 +39,9 @@
     A Select widget that uses a list of Australian states/territories as its
     choices.
     """
-    def __init__(self, attrs=None):
+    def __init__(self, attrs=None, empty_label=u"---------"):
         from au_states import STATE_CHOICES
-        super(AUStateSelect, self).__init__(attrs, choices=STATE_CHOICES)
+        select_choices = STATE_CHOICES
+        if empty_label is not None:
+            select_choices = chain(((u'', empty_label),), STATE_CHOICES)        
+        super(AUStateSelect, self).__init__(attrs, choices=select_choices)
Index: django/contrib/localflavor/fr/forms.py
===================================================================
--- django/contrib/localflavor/fr/forms.py	(revision 6194)
+++ django/contrib/localflavor/fr/forms.py	(working copy)
@@ -6,6 +6,7 @@
 from django.newforms.fields import Field, RegexField, Select, EMPTY_VALUES
 from django.utils.encoding import smart_unicode
 from django.utils.translation import ugettext
+from itertools import chain
 import re
 
 phone_digits_re = re.compile(r'^0\d(\s|\.)?(\d{2}(\s|\.)?){3}\d{2}$')
@@ -38,7 +39,10 @@
     """
     A Select widget that uses a list of FR departments as its choices.
     """
-    def __init__(self, attrs=None):
+    def __init__(self, attrs=None, empty_label=u"---------"):
         from fr_department import DEPARTMENT_ASCII_CHOICES
-        super(FRDepartmentSelect, self).__init__(attrs, choices=DEPARTMENT_ASCII_CHOICES)
+        select_choices = DEPARTMENT_ASCII_CHOICES
+        if empty_label is not None:
+            select_choices = chain(((u'', empty_label),), DEPARTMENT_ASCII_CHOICES)
+        super(FRDepartmentSelect, self).__init__(attrs, choices=select_choices)
 
Index: django/contrib/localflavor/nl/forms.py
===================================================================
--- django/contrib/localflavor/nl/forms.py	(revision 6194)
+++ django/contrib/localflavor/nl/forms.py	(working copy)
@@ -8,6 +8,7 @@
 from django.newforms.fields import Field, Select, EMPTY_VALUES
 from django.utils.translation import ugettext as _
 from django.utils.encoding import smart_unicode
+from itertools import chain
 
 pc_re = re.compile('^\d{4}[A-Z]{2}$')
 sofi_re = re.compile('^\d{9}$')
@@ -37,9 +38,12 @@
     A Select widget that uses a list of provinces of the Netherlands as its 
     choices.
     """
-    def __init__(self, attrs=None):
+    def __init__(self, attrs=None, empty_label=u"---------"):
         from nl_provinces import PROVINCE_CHOICES
-        super(NLProvinceSelect, self).__init__(attrs, choices=PROVINCE_CHOICES)
+        select_choices = PROVINCE_CHOICES
+        if empty_label is not None:
+            select_choices = chain(((u'', empty_label),), PROVINCE_CHOICES)
+        super(NLProvinceSelect, self).__init__(attrs, choices=select_choices)
 
 class NLPhoneNumberField(Field):
     """
Index: django/contrib/localflavor/jp/forms.py
===================================================================
--- django/contrib/localflavor/jp/forms.py	(revision 6194)
+++ django/contrib/localflavor/jp/forms.py	(working copy)
@@ -6,6 +6,7 @@
 from django.newforms import ValidationError
 from django.utils.translation import ugettext
 from django.newforms.fields import RegexField, Select
+from itertools import chain
 
 import re
 
@@ -33,6 +34,9 @@
     """
     A Select widget that uses a list of Japanese prefectures as its choices.
     """
-    def __init__(self, attrs=None):
+    def __init__(self, attrs=None, empty_label=u"---------"):
         from jp_prefectures import JP_PREFECTURES
-        super(JPPrefectureSelect, self).__init__(attrs, choices=JP_PREFECTURES)
+        select_choices = JP_PREFECTURES
+        if empty_label is not None:
+            select_choices = chain(((u'', empty_label),), JP_PREFECTURES)
+        super(JPPrefectureSelect, self).__init__(attrs, choices=select_choices)
Index: django/contrib/localflavor/is_/forms.py
===================================================================
--- django/contrib/localflavor/is_/forms.py	(revision 6194)
+++ django/contrib/localflavor/is_/forms.py	(working copy)
@@ -7,6 +7,7 @@
 from django.newforms.widgets import Select
 from django.utils.translation import ugettext
 from django.utils.encoding import smart_unicode
+from itertools import chain
 
 class ISIdNumberField(RegexField):
     """
@@ -72,7 +73,10 @@
     """
     A Select widget that uses a list of Icelandic postal codes as its choices.
     """
-    def __init__(self, attrs=None):
+    def __init__(self, attrs=None, empty_label=u"---------"):
         from is_postalcodes import IS_POSTALCODES
-        super(ISPostalCodeSelect, self).__init__(attrs, choices=IS_POSTALCODES)
+        select_choices = IS_POSTALCODES
+        if empty_label is not None:
+            select_choices = chain(((u'', empty_label),), IS_POSTALCODES)
+        super(ISPostalCodeSelect, self).__init__(attrs, choices=select_choices)
 
Index: django/contrib/localflavor/pl/forms.py
===================================================================
--- django/contrib/localflavor/pl/forms.py	(revision 6194)
+++ django/contrib/localflavor/pl/forms.py	(working copy)
@@ -5,23 +5,30 @@
 from django.newforms import ValidationError
 from django.newforms.fields import Select, RegexField
 from django.utils.translation import ugettext as _
+from itertools import chain
 
 class PLVoivodeshipSelect(Select):
     """
     A select widget with list of Polish voivodeships (administrative provinces)
     as choices.
     """
-    def __init__(self, attrs=None):
+    def __init__(self, attrs=None, empty_label=u"---------"):
         from pl_voivodeships import VOIVODESHIP_CHOICES
-        super(PLVoivodeshipSelect, self).__init__(attrs, choices=VOIVODESHIP_CHOICES)
+        select_choices = VOIVODESHIP_CHOICES
+        if empty_label is not None:
+            select_choices = chain(((u'', empty_label),), VOIVODESHIP_CHOICES)
+        super(PLVoivodeshipSelect, self).__init__(attrs, choices=select_choices)
 
 class PLAdministrativeUnitSelect(Select):
     """
     A select widget with list of Polish administrative units as choices.
     """
-    def __init__(self, attrs=None):
+    def __init__(self, attrs=None, empty_label=u"---------"):
         from pl_administrativeunits import ADMINISTRATIVE_UNIT_CHOICES
-        super(PLAdministrativeUnitSelect, self).__init__(attrs, choices=ADMINISTRATIVE_UNIT_CHOICES)
+        select_choices = ADMINISTRATIVE_UNIT_CHOICES
+        if empty_label is not None:
+            select_choices = chain(((u'', empty_label),), ADMINISTRATIVE_UNIT_CHOICES)
+        super(PLAdministrativeUnitSelect, self).__init__(attrs, choices=select_choices)
 
 class PLNationalIdentificationNumberField(RegexField):
     """
Index: django/contrib/localflavor/no/forms.py
===================================================================
--- django/contrib/localflavor/no/forms.py	(revision 6194)
+++ django/contrib/localflavor/no/forms.py	(working copy)
@@ -6,6 +6,7 @@
 from django.newforms import ValidationError
 from django.newforms.fields import Field, RegexField, Select, EMPTY_VALUES
 from django.utils.translation import ugettext
+from itertools import chain
 
 class NOZipCodeField(RegexField):
     def __init__(self, *args, **kwargs):
@@ -19,9 +20,12 @@
     A Select widget that uses a list of Norwegian municipalities (fylker)
     as its choices.
     """
-    def __init__(self, attrs=None):
+    def __init__(self, attrs=None, empty_label=u"---------"):
         from no_municipalities import MUNICIPALITY_CHOICES
-        super(NOMunicipalitySelect, self).__init__(attrs, choices=MUNICIPALITY_CHOICES)
+        select_choices = MUNICIPALITY_CHOICES
+        if empty_label is not None:
+            select_choices = chain(((u'', empty_label),), MUNICIPALITY_CHOICES)
+        super(NOMunicipalitySelect, self).__init__(attrs, choices=select_choices)
 
 class NOSocialSecurityNumber(Field):
     """
Index: django/contrib/localflavor/it/forms.py
===================================================================
--- django/contrib/localflavor/it/forms.py	(revision 6194)
+++ django/contrib/localflavor/it/forms.py	(working copy)
@@ -7,6 +7,7 @@
 from django.utils.translation import ugettext
 from django.utils.encoding import smart_unicode
 from django.contrib.localflavor.it.util import ssn_check_digit, vat_number_check_digit
+from itertools import chain
 import re
 
 class ITZipCodeField(RegexField):
@@ -20,17 +21,23 @@
     """
     A Select widget that uses a list of IT regions as its choices.
     """
-    def __init__(self, attrs=None):
+    def __init__(self, attrs=None, empty_label=u"---------"):
         from it_region import REGION_CHOICES
-        super(ITRegionSelect, self).__init__(attrs, choices=REGION_CHOICES)
+        select_choices = REGION_CHOICES
+        if empty_label is not None:
+            select_choices = chain(((u'', empty_label),), REGION_CHOICES)
+        super(ITRegionSelect, self).__init__(attrs, choices=select_choices)
 
 class ITProvinceSelect(Select):
     """
     A Select widget that uses a list of IT regions as its choices.
     """
-    def __init__(self, attrs=None):
+    def __init__(self, attrs=None, empty_label=u"---------"):
         from it_province import PROVINCE_CHOICES
-        super(ITProvinceSelect, self).__init__(attrs, choices=PROVINCE_CHOICES)
+        select_choices = PROVINCE_CHOICES
+        if empty_label is not None:
+            select_choices = chain(((u'', empty_label),), PROVINCE_CHOICES)
+        super(ITProvinceSelect, self).__init__(attrs, choices=select_choices)
 
 class ITSocialSecurityNumberField(RegexField):
     """
Index: django/contrib/localflavor/sk/forms.py
===================================================================
--- django/contrib/localflavor/sk/forms.py	(revision 6194)
+++ django/contrib/localflavor/sk/forms.py	(working copy)
@@ -4,22 +4,29 @@
 
 from django.newforms.fields import Select, RegexField
 from django.utils.translation import ugettext
+from itertools import chain
 
 class SKRegionSelect(Select):
     """
     A select widget widget with list of Slovak regions as choices.
     """
-    def __init__(self, attrs=None):
+    def __init__(self, attrs=None, empty_label=u"---------"):
         from sk_regions import REGION_CHOICES
-        super(SKRegionSelect, self).__init__(attrs, choices=REGION_CHOICES)
+        select_choices = REGION_CHOICES
+        if empty_label is not None:
+            select_choices = chain(((u'', empty_label),), REGION_CHOICES)
+        super(SKRegionSelect, self).__init__(attrs, choices=select_choices)
 
 class SKDistrictSelect(Select):
     """
     A select widget with list of Slovak districts as choices.
     """
-    def __init__(self, attrs=None):
+    def __init__(self, attrs=None, empty_label=u"---------"):
         from sk_districts import DISTRICT_CHOICES
-        super(SKDistrictSelect, self).__init__(attrs, choices=DISTRICT_CHOICES)
+        select_choices = DISTRICT_CHOICES
+        if empty_label is not None:
+            select_choices = chain(((u'', empty_label),), DISTRICT_CHOICES)
+        super(SKDistrictSelect, self).__init__(attrs, choices=select_choices)
 
 class SKPostalCodeField(RegexField):
     """
