summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
Diffstat (limited to 'django')
-rw-r--r--django/contrib/localflavor/us/models.py27
1 files changed, 9 insertions, 18 deletions
diff --git a/django/contrib/localflavor/us/models.py b/django/contrib/localflavor/us/models.py
index 9465126db7..3e755da306 100644
--- a/django/contrib/localflavor/us/models.py
+++ b/django/contrib/localflavor/us/models.py
@@ -1,23 +1,14 @@
from django.conf import settings
-from django.db.models.fields import Field
-
-class USStateField(Field):
+from django.db.models.fields import Field, CharField
+from django.contrib.localflavor.us.us_states import STATE_CHOICES
+
+class USStateField(CharField):
"""U.S. state (two uppercase letters)"""
- def get_internal_type(self):
- return "USStateField"
-
- def db_type(self):
- if settings.DATABASE_ENGINE == 'oracle':
- return 'CHAR(2)'
- else:
- return 'varchar(2)'
-
- def formfield(self, **kwargs):
- from django.contrib.localflavor.us.forms import USStateSelect
- defaults = {'widget': USStateSelect}
- defaults.update(kwargs)
- return super(USStateField, self).formfield(**defaults)
-
+ def __init__(self, *args, **kwargs):
+ kwargs['choices'] = STATE_CHOICES
+ kwargs['max_length'] = 2
+ super(USStateField, self).__init__(*args, **kwargs)
+
class PhoneNumberField(Field):
"""Phone number"""
def get_internal_type(self):