Django

Code

Changeset 7133

Show
Ignore:
Timestamp:
02/18/08 20:58:41 (5 months ago)
Author:
mtredinnick
Message:

It makes sense that when you subclass an existing model field, you're often
going to be using the same database column type. Made that properly
inheritable (previously it was using the class name), at the cost of a little
more verboseness.

This is very slightly backwards incompatible (for subclasses of existing fields
that were relying on the old default).

Fixed #6556.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/trunk/django/db/models/fields/__init__.py

    r7021 r7133  
    448448        Field.__init__(self, *args, **kwargs) 
    449449 
     450    def get_internal_type(self): 
     451        return "BooleanField" 
     452 
    450453    def to_python(self, value): 
    451454        if value in (True, False): return value 
     
    465468    def get_manipulator_field_objs(self): 
    466469        return [oldforms.TextField] 
     470 
     471    def get_internal_type(self): 
     472        return "CharField" 
    467473 
    468474    def to_python(self, value): 
     
    495501            kwargs['blank'] = True 
    496502        Field.__init__(self, verbose_name, name, **kwargs) 
     503 
     504    def get_internal_type(self): 
     505        return "DateField" 
    497506 
    498507    def to_python(self, value): 
     
    565574 
    566575class DateTimeField(DateField): 
     576    def get_internal_type(self): 
     577        return "DateTimeField" 
     578 
    567579    def to_python(self, value): 
    568580        if value is None: 
     
    635647        Field.__init__(self, verbose_name, name, **kwargs) 
    636648 
     649    def get_internal_type(self): 
     650        return "DecimalField" 
     651 
    637652    def to_python(self, value): 
    638653        if value is None: 
     
    694709        CharField.__init__(self, *args, **kwargs) 
    695710 
    696     def get_internal_type(self): 
    697         return "CharField" 
    698  
    699711    def get_manipulator_field_objs(self): 
    700712        return [oldforms.EmailField] 
     
    713725        kwargs['max_length'] = kwargs.get('max_length', 100) 
    714726        Field.__init__(self, verbose_name, name, **kwargs) 
     727 
     728    def get_internal_type(self): 
     729        return "FileField" 
    715730 
    716731    def get_db_prep_save(self, value): 
     
    823838        return [curry(oldforms.FilePathField, path=self.path, match=self.match, recursive=self.recursive)] 
    824839 
     840    def get_internal_type(self): 
     841        return "FilePathField" 
     842 
    825843class FloatField(Field): 
    826844    empty_strings_allowed = False 
     
    828846    def get_manipulator_field_objs(self): 
    829847        return [oldforms.FloatField] 
     848 
     849    def get_internal_type(self): 
     850        return "FloatField" 
    830851 
    831852    def formfield(self, **kwargs): 
     
    850871        if not self.height_field: 
    851872            setattr(cls, 'get_%s_height' % self.name, curry(cls._get_FIELD_height, field=self)) 
     873 
     874    def get_internal_type(self): 
     875        return "ImageField" 
    852876 
    853877    def save_file(self, new_data, new_object, original_object, change, rel, save=True): 
     
    873897        return [oldforms.IntegerField] 
    874898 
     899    def get_internal_type(self): 
     900        return "IntegerField" 
     901 
    875902    def formfield(self, **kwargs): 
    876903        defaults = {'form_class': forms.IntegerField} 
     
    887914        return [oldforms.IPAddressField] 
    888915 
     916    def get_internal_type(self): 
     917        return "IPAddressField" 
     918 
    889919    def validate(self, field_data, all_data): 
    890920        validators.isValidIPAddress4(field_data, None) 
     
    900930        kwargs['null'] = True 
    901931        Field.__init__(self, *args, **kwargs) 
     932 
     933    def get_internal_type(self): 
     934        return "NullBooleanField" 
    902935 
    903936    def to_python(self, value): 
     
    920953        return [oldforms.PhoneNumberField] 
    921954 
     955    def get_internal_type(self): 
     956        return "PhoneNumberField" 
     957 
    922958    def validate(self, field_data, all_data): 
    923959        validators.isValidPhone(field_data, all_data) 
     
    933969        return [oldforms.PositiveIntegerField] 
    934970 
     971    def get_internal_type(self): 
     972        return "PositiveIntegerField" 
     973 
    935974    def formfield(self, **kwargs): 
    936975        defaults = {'min_value': 0} 
     
    941980    def get_manipulator_field_objs(self): 
    942981        return [oldforms.PositiveSmallIntegerField] 
     982 
     983    def get_internal_type(self): 
     984        return "PositiveSmallIntegerField" 
    943985 
    944986    def formfield(self, **kwargs): 
     
    956998        super(SlugField, self).__init__(*args, **kwargs) 
    957999 
     1000    def get_internal_type(self): 
     1001        return "SlugField" 
     1002 
    9581003class SmallIntegerField(IntegerField): 
    9591004    def get_manipulator_field_objs(self): 
    9601005        return [oldforms.SmallIntegerField] 
    9611006 
     1007    def get_internal_type(self): 
     1008        return "SmallIntegerField" 
     1009 
    9621010class TextField(Field): 
    9631011    def get_manipulator_field_objs(self): 
    9641012        return [oldforms.LargeTextField] 
     1013 
     1014    def get_internal_type(self): 
     1015        return "TextField" 
    9651016 
    9661017    def formfield(self, **kwargs): 
     
    9761027            kwargs['editable'] = False 
    9771028        Field.__init__(self, verbose_name, name, **kwargs) 
     1029 
     1030    def get_internal_type(self): 
     1031        return "TimeField" 
    9781032 
    9791033    def get_db_prep_lookup(self, lookup_type, value): 
     
    10411095        return [oldforms.URLField] 
    10421096 
    1043     def get_internal_type(self): 
    1044         return "CharField" 
    1045  
    10461097    def formfield(self, **kwargs): 
    10471098        defaults = {'form_class': forms.URLField, 'verify_exists': self.verify_exists} 
     
    10521103    def get_manipulator_field_objs(self): 
    10531104        return [oldforms.USStateField] 
     1105 
     1106    def get_internal_type(self): 
     1107        return "USStateField" 
    10541108 
    10551109    def formfield(self, **kwargs): 
     
    10631117        self.schema_path = schema_path 
    10641118        Field.__init__(self, verbose_name, name, **kwargs) 
    1065  
    1066     def get_internal_type(self): 
    1067         return "TextField" 
    10681119 
    10691120    def get_manipulator_field_objs(self): 
     
    10771128        IntegerField.__init__(self, **kwargs ) 
    10781129 
    1079     def get_internal_type(self): 
    1080         return "IntegerField" 
    1081  
    10821130    def get_manipulator_fields(self, opts, manipulator, change, name_prefix='', rel=False, follow=True): 
    10831131        return [oldforms.HiddenField(name_prefix + self.name)]