summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorKaren Tracey <kmtracey@gmail.com>2009-12-13 21:56:18 +0000
committerKaren Tracey <kmtracey@gmail.com>2009-12-13 21:56:18 +0000
commit2135befd64ce6c5c1ba765337e078a6cce7ae0f2 (patch)
treee27670c710bafc0131225989f567476a86fd8ad5 /django
parent07ba0dbaf75a72c3c3ab71ca5a80f0889ddabb72 (diff)
Fixed #10969: Made US State field a CharField, fixing a few oddities in its behavior. Thanks Paul McLanahan.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@11857 bcc190cf-cafb-0310-a4f2-bffc1f526a37
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):