Django

Code

Changeset 1321

Show
Ignore:
Timestamp:
11/20/05 19:15:00 (3 years ago)
Author:
rjwittams
Message:

Merged to trunk r1320

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/branches/new-admin/django/core/db/backends/ado_mssql.py

    r1235 r1321  
    139139    'DateField':         'smalldatetime', 
    140140    'DateTimeField':     'smalldatetime', 
    141     'EmailField':        'varchar(75)', 
    142141    'FileField':         'varchar(100)', 
    143142    'FilePathField':     'varchar(100)', 
  • django/branches/new-admin/django/core/db/backends/mysql.py

    r1223 r1321  
    155155    'DateField':         'date', 
    156156    'DateTimeField':     'datetime', 
    157     'EmailField':        'varchar(75)', 
    158157    'FileField':         'varchar(100)', 
    159158    'FilePathField':     'varchar(100)', 
  • django/branches/new-admin/django/core/db/backends/postgresql.py

    r1255 r1321  
    160160    'DateField':         'date', 
    161161    'DateTimeField':     'timestamp with time zone', 
    162     'EmailField':        'varchar(75)', 
    163162    'FileField':         'varchar(100)', 
    164163    'FilePathField':     'varchar(100)', 
  • django/branches/new-admin/django/core/db/backends/sqlite3.py

    r1223 r1321  
    158158    'DateField':                    'date', 
    159159    'DateTimeField':                'datetime', 
    160     'EmailField':                   'varchar(75)', 
    161160    'FileField':                    'varchar(100)', 
    162161    'FilePathField':                'varchar(100)', 
  • django/branches/new-admin/django/core/formfields.py

    r1289 r1321  
    779779class EmailField(TextField): 
    780780    "A convenience FormField for validating e-mail addresses" 
    781     def __init__(self, field_name, length=50, is_required=False, validator_list=[]): 
     781    def __init__(self, field_name, length=50, maxlength=75, is_required=False, validator_list=[]): 
    782782        validator_list = [self.isValidEmail] + validator_list 
    783         TextField.__init__(self, field_name, length, maxlength=75
     783        TextField.__init__(self, field_name, length, maxlength=maxlength
    784784            is_required=is_required, validator_list=validator_list) 
    785785 
  • django/branches/new-admin/django/core/management.py

    r1235 r1321  
    605605                if isinstance(f, meta.CharField) and f.maxlength in (None, 0): 
    606606                    e.add(opts, '"%s" field: CharFields require a "maxlength" attribute.' % f.name) 
     607                if isinstance(f, meta.FloatField): 
     608                    if f.decimal_places is None: 
     609                        e.add(opts, '"%s" field: FloatFields require a "decimal_places" attribute.' % f.name) 
     610                    if f.max_digits is None: 
     611                        e.add(opts, '"%s" field: FloatFields require a "max_digits" attribute.' % f.name) 
    607612                if isinstance(f, meta.FileField) and not f.upload_to: 
    608613                    e.add(opts, '"%s" field: FileFields require an "upload_to" attribute.' % f.name) 
  • django/branches/new-admin/django/core/meta/fields.py

    r1254 r1321  
    461461 
    462462class EmailField(Field): 
     463    def __init__(self, *args, **kwargs): 
     464        kwargs['maxlength'] = 75 
     465        Field.__init__(self, *args, **kwargs) 
     466 
     467    def get_internal_type(self): 
     468        return "CharField" 
     469 
    463470    def get_manipulator_field_objs(self): 
    464471        return [formfields.EmailField] 
  • django/branches/new-admin/django/core/meta/__init__.py

    r1286 r1321  
    891891                        val = f.get_default() 
    892892                else: 
     893                    # Object instance was passed in. 
    893894                    # Special case: You can pass in "None" for related objects if it's allowed. 
    894895                    if rel_obj is None and f.null: 
     
    896897                    else: 
    897898                        try: 
    898                             val = getattr(rel_obj, f.rel.field_name) 
     899                            val = getattr(rel_obj, f.rel.get_related_field().attname) 
    899900                        except AttributeError: 
    900901                            raise TypeError, "Invalid value: %r should be a %s instance, not a %s" % (f.name, f.rel.to, type(rel_obj)) 
     
    10291030        if val is None: 
    10301031            raise getattr(mod, '%sDoesNotExist' % field_with_rel.rel.to.object_name) 
    1031         retrieved_obj = mod.get_object(**{'%s__exact' % field_with_rel.rel.field_name: val}) 
     1032        other_field = field_with_rel.rel.get_related_field() 
     1033        if other_field.rel: 
     1034            params = {'%s__%s__exact' % (field_with_rel.rel.field_name, other_field.rel.field_name): val} 
     1035        else: 
     1036            params = {'%s__exact'% field_with_rel.rel.field_name: val} 
     1037        retrieved_obj = mod.get_object(**params) 
    10321038        setattr(self, cache_var, retrieved_obj) 
    10331039    return getattr(self, cache_var) 
     
    10951101        kwargs['object_id__exact'] = getattr(self, rel_field.rel.field_name) 
    10961102    else: 
    1097         kwargs['%s__%s__exact' % (rel_field.name, rel_field.rel.to.pk.name)] = getattr(self, rel_field.rel.field_name) 
     1103        kwargs['%s__%s__exact' % (rel_field.name, rel_field.rel.to.pk.name)] = getattr(self, rel_field.rel.get_related_field().attname) 
    10981104    kwargs.update(rel_field.rel.lookup_overrides) 
    10991105    return getattr(rel_mod, method_name)(**kwargs) 
  • django/branches/new-admin/docs/faq.txt

    r1255 r1321  
    241241.. _`Django-friendly Web hosts`: http://code.djangoproject.com/wiki/DjangoFriendlyWebHosts 
    242242 
     243Should I use the official version or development version? 
     244--------------------------------------------------------- 
     245 
     246The Django developers improve Django every day and are pretty good about not 
     247checking in broken code. We use the development code (from the Subversion 
     248repository) directly on our servers, so we consider it stable. With that in 
     249mind, we recommend that you use the latest development code, because it 
     250generally contains more features and fewer bugs than the "official" releases. 
     251 
    243252Using Django 
    244253============ 
  • django/branches/new-admin/docs/settings.txt

    r1309 r1321  
    592592Default: ``'America/Chicago'`` 
    593593 
    594 A string representing the time zone for this installation. 
    595 `See available choices`_. 
     594A string representing the time zone for this installation. `See available choices`_. 
     595 
     596Note that this is the time zone to which Django will convert all dates/times -- 
     597not necessarily the timezone of the server. For example, one server may serve 
     598multiple Django-powered sites, each with a separate time-zone setting. 
    596599 
    597600USE_ETAGS 
  • django/branches/new-admin/tests/testapp/models/many_to_one.py

    r549 r1321  
    1010    first_name = meta.CharField(maxlength=30) 
    1111    last_name = meta.CharField(maxlength=30) 
     12    email = meta.EmailField() 
    1213 
    1314    def __repr__(self): 
     
    2425API_TESTS = """ 
    2526# Create a Reporter. 
    26 >>> r = reporters.Reporter(first_name='John', last_name='Smith'
     27>>> r = reporters.Reporter(first_name='John', last_name='Smith', email='john@example.com'
    2728>>> r.save() 
    2829 
  • django/branches/new-admin/tests/testapp/models/one_to_one.py

    r648 r1321  
    2929 
    3030    def __repr__(self): 
    31         return "%s the waiter at %s" % (self.name, self.get_restaurant()) 
     31        return "%s the waiter at %r" % (self.name, self.get_restaurant()) 
    3232 
    3333API_TESTS = """