Django

Code

Ticket #1477: URLField-db-maxlength-4293.diff

File URLField-db-maxlength-4293.diff, 3.4 kB (added by mcroydon, 2 years ago)

Updated to apply cleanly against trunk [4293]

  • django/db/models/fields/__init__.py

    old new  
    800800    def formfield(self, initial=None): 
    801801        return forms.TimeField(required=not self.blank, label=capfirst(self.verbose_name), initial=initial) 
    802802 
    803 class URLField(Field): 
     803class URLField(CharField): 
    804804    def __init__(self, verbose_name=None, name=None, verify_exists=True, **kwargs): 
     805        kwargs['maxlength'] = kwargs.get('maxlength', 200)  
    805806        if verify_exists: 
    806807            kwargs.setdefault('validator_list', []).append(validators.isExistingURL) 
    807808        self.verify_exists = verify_exists 
    808         Field.__init__(self, verbose_name, name, **kwargs) 
     809        CharField.__init__(self, verbose_name, name, **kwargs) 
    809810 
    810811    def get_manipulator_field_objs(self): 
    811812        return [oldforms.URLField] 
    812813 
     814    def get_internal_type(self):  
     815        return "CharField" 
     816 
    813817    def formfield(self, initial=None): 
    814818        return forms.URLField(required=not self.blank, verify_exists=self.verify_exists, label=capfirst(self.verbose_name), initial=initial) 
    815819 
  • django/db/backends/ado_mssql/creation.py

    old new  
    2121    'SmallIntegerField': 'smallint', 
    2222    'TextField':         'text', 
    2323    'TimeField':         'time', 
    24     'URLField':          'varchar(200)', 
    2524    'USStateField':      'varchar(2)', 
    2625} 
  • django/db/backends/postgresql/creation.py

    old new  
    2525    'SmallIntegerField': 'smallint', 
    2626    'TextField':         'text', 
    2727    'TimeField':         'time', 
    28     'URLField':          'varchar(200)', 
    2928    'USStateField':      'varchar(2)', 
    3029} 
  • django/db/backends/sqlite3/creation.py

    old new  
    2424    'SmallIntegerField':            'smallint', 
    2525    'TextField':                    'text', 
    2626    'TimeField':                    'time', 
    27     'URLField':                     'varchar(200)', 
    2827    'USStateField':                 'varchar(2)', 
    2928} 
  • django/db/backends/mysql/creation.py

    old new  
    2525    'SmallIntegerField': 'smallint', 
    2626    'TextField':         'longtext', 
    2727    'TimeField':         'time', 
    28     'URLField':          'varchar(200)', 
    2928    'USStateField':      'varchar(2)', 
    3029} 
  • django/db/backends/oracle/creation.py

    old new  
    2121    'SmallIntegerField': 'smallint', 
    2222    'TextField':         'long', 
    2323    'TimeField':         'timestamp', 
    24     'URLField':          'varchar(200)', 
    2524    'USStateField':      'varchar(2)', 
    2625}