1
1
from django.conf import settings
2
from django.db.models.fields import Field
4
class USStateField(Field):
5
def get_internal_type(self):
9
if settings.DATABASE_ENGINE == 'oracle':
14
def formfield(self, **kwargs):
15
from django.contrib.localflavor.us.forms import USStateSelect
16
defaults = {'widget': USStateSelect}
17
defaults.update(kwargs)
18
return super(USStateField, self).formfield(**defaults)
20
class PhoneNumberField(Field):
21
def get_internal_type(self):
22
return "PhoneNumberField"
25
if settings.DATABASE_ENGINE == 'oracle':
2
from django.utils.translation import ugettext_lazy as _
3
from django.db.models.fields import CharField
4
from django.contrib.localflavor.us.us_states import STATE_CHOICES
6
class USStateField(CharField):
8
description = _("U.S. state (two uppercase letters)")
10
def __init__(self, *args, **kwargs):
11
kwargs['choices'] = STATE_CHOICES
12
kwargs['max_length'] = 2
13
super(USStateField, self).__init__(*args, **kwargs)
15
class PhoneNumberField(CharField):
17
description = _("Phone number")
19
def __init__(self, *args, **kwargs):
20
kwargs['max_length'] = 20
21
super(PhoneNumberField, self).__init__(*args, **kwargs)
30
23
def formfield(self, **kwargs):
31
24
from django.contrib.localflavor.us.forms import USPhoneNumberField
32
25
defaults = {'form_class': USPhoneNumberField}
33
26
defaults.update(kwargs)
34
27
return super(PhoneNumberField, self).formfield(**defaults)