Removed trailing whitespace in a few files.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@8571 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Gary Wilson Jr 2008-08-26 04:55:56 +00:00
parent 15ed5e61c9
commit b016ea0ace
3 changed files with 37 additions and 37 deletions

View File

@ -31,7 +31,7 @@ class GeometryField(SpatialBackend.Field):
Indicates whether to create a spatial index. Defaults to True. Indicates whether to create a spatial index. Defaults to True.
Set this instead of 'db_index' for geographic fields since index Set this instead of 'db_index' for geographic fields since index
creation is different for geometry columns. creation is different for geometry columns.
dim: dim:
The number of dimensions for this geometry. Defaults to 2. The number of dimensions for this geometry. Defaults to 2.
""" """
@ -39,18 +39,18 @@ class GeometryField(SpatialBackend.Field):
# Setting the index flag with the value of the `spatial_index` keyword. # Setting the index flag with the value of the `spatial_index` keyword.
self._index = spatial_index self._index = spatial_index
# Setting the SRID and getting the units. Unit information must be # Setting the SRID and getting the units. Unit information must be
# easily available in the field instance for distance queries. # easily available in the field instance for distance queries.
self._srid = srid self._srid = srid
self._unit, self._unit_name, self._spheroid = get_srid_info(srid) self._unit, self._unit_name, self._spheroid = get_srid_info(srid)
# Setting the dimension of the geometry field. # Setting the dimension of the geometry field.
self._dim = dim self._dim = dim
# Setting the verbose_name keyword argument with the positional # Setting the verbose_name keyword argument with the positional
# first parameter, so this works like normal fields. # first parameter, so this works like normal fields.
kwargs['verbose_name'] = verbose_name kwargs['verbose_name'] = verbose_name
super(GeometryField, self).__init__(**kwargs) # Calling the parent initializtion function super(GeometryField, self).__init__(**kwargs) # Calling the parent initializtion function
### Routines specific to GeometryField ### ### Routines specific to GeometryField ###
@ -64,7 +64,7 @@ class GeometryField(SpatialBackend.Field):
def get_distance(self, dist_val, lookup_type): def get_distance(self, dist_val, lookup_type):
""" """
Returns a distance number in units of the field. For example, if Returns a distance number in units of the field. For example, if
`D(km=1)` was passed in and the units of the field were in meters, `D(km=1)` was passed in and the units of the field were in meters,
then 1000 would be returned. then 1000 would be returned.
""" """
@ -84,10 +84,10 @@ class GeometryField(SpatialBackend.Field):
else: else:
# Assuming the distance is in the units of the field. # Assuming the distance is in the units of the field.
dist_param = dist dist_param = dist
if SpatialBackend.postgis and self.geodetic and lookup_type != 'dwithin' and option == 'spheroid': if SpatialBackend.postgis and self.geodetic and lookup_type != 'dwithin' and option == 'spheroid':
# On PostGIS, by default `ST_distance_sphere` is used; but if the # On PostGIS, by default `ST_distance_sphere` is used; but if the
# accuracy of `ST_distance_spheroid` is needed than the spheroid # accuracy of `ST_distance_spheroid` is needed than the spheroid
# needs to be passed to the SQL stored procedure. # needs to be passed to the SQL stored procedure.
return [gqn(self._spheroid), dist_param] return [gqn(self._spheroid), dist_param]
else: else:
@ -98,7 +98,7 @@ class GeometryField(SpatialBackend.Field):
Retrieves the geometry, setting the default SRID from the given Retrieves the geometry, setting the default SRID from the given
lookup parameters. lookup parameters.
""" """
if isinstance(value, (tuple, list)): if isinstance(value, (tuple, list)):
geom = value[0] geom = value[0]
else: else:
geom = value geom = value
@ -117,7 +117,7 @@ class GeometryField(SpatialBackend.Field):
# Assigning the SRID value. # Assigning the SRID value.
geom.srid = self.get_srid(geom) geom.srid = self.get_srid(geom)
return geom return geom
def get_srid(self, geom): def get_srid(self, geom):
@ -135,12 +135,12 @@ class GeometryField(SpatialBackend.Field):
### Routines overloaded from Field ### ### Routines overloaded from Field ###
def contribute_to_class(self, cls, name): def contribute_to_class(self, cls, name):
super(GeometryField, self).contribute_to_class(cls, name) super(GeometryField, self).contribute_to_class(cls, name)
# Setup for lazy-instantiated Geometry object. # Setup for lazy-instantiated Geometry object.
setattr(cls, self.attname, GeometryProxy(SpatialBackend.Geometry, self)) setattr(cls, self.attname, GeometryProxy(SpatialBackend.Geometry, self))
def formfield(self, **kwargs): def formfield(self, **kwargs):
defaults = {'form_class' : forms.GeometryField, defaults = {'form_class' : forms.GeometryField,
'geom_type' : self._geom, 'geom_type' : self._geom,
'null' : self.null, 'null' : self.null,
} }
@ -161,8 +161,8 @@ class GeometryField(SpatialBackend.Field):
# if it is None. # if it is None.
geom = self.get_geometry(value) geom = self.get_geometry(value)
# Getting the WHERE clause list and the associated params list. The params # Getting the WHERE clause list and the associated params list. The params
# list is populated with the Adaptor wrapping the Geometry for the # list is populated with the Adaptor wrapping the Geometry for the
# backend. The WHERE clause list contains the placeholder for the adaptor # backend. The WHERE clause list contains the placeholder for the adaptor
# (e.g. any transformation SQL). # (e.g. any transformation SQL).
where = [self.get_placeholder(geom)] where = [self.get_placeholder(geom)]

View File

@ -44,7 +44,7 @@ def add_lazy_relation(cls, field, relation, operation):
If the other model hasn't yet been loaded -- almost a given if you're using If the other model hasn't yet been loaded -- almost a given if you're using
lazy relationships -- then the relation won't be set up until the lazy relationships -- then the relation won't be set up until the
class_prepared signal fires at the end of model initialization. class_prepared signal fires at the end of model initialization.
operation is the work that must be performed once the relation can be resolved. operation is the work that must be performed once the relation can be resolved.
""" """
# Check for recursive relations # Check for recursive relations
@ -378,7 +378,7 @@ def create_many_related_manager(superclass, through=False):
def get_query_set(self): def get_query_set(self):
return superclass.get_query_set(self)._next_is_sticky().filter(**(self.core_filters)) return superclass.get_query_set(self)._next_is_sticky().filter(**(self.core_filters))
# If the ManyToMany relation has an intermediary model, # If the ManyToMany relation has an intermediary model,
# the add and remove methods do not exist. # the add and remove methods do not exist.
if through is None: if through is None:
def add(self, *objs): def add(self, *objs):
@ -773,7 +773,7 @@ class ManyToManyField(RelatedField, Field):
limit_choices_to=kwargs.pop('limit_choices_to', None), limit_choices_to=kwargs.pop('limit_choices_to', None),
symmetrical=kwargs.pop('symmetrical', True), symmetrical=kwargs.pop('symmetrical', True),
through=kwargs.pop('through', None)) through=kwargs.pop('through', None))
self.db_table = kwargs.pop('db_table', None) self.db_table = kwargs.pop('db_table', None)
if kwargs['rel'].through is not None: if kwargs['rel'].through is not None:
self.creates_table = False self.creates_table = False
@ -817,7 +817,7 @@ class ManyToManyField(RelatedField, Field):
self._m2m_column_name_cache = 'from_' + related.model._meta.object_name.lower() + '_id' self._m2m_column_name_cache = 'from_' + related.model._meta.object_name.lower() + '_id'
else: else:
self._m2m_column_name_cache = related.model._meta.object_name.lower() + '_id' self._m2m_column_name_cache = related.model._meta.object_name.lower() + '_id'
# Return the newly cached value # Return the newly cached value
return self._m2m_column_name_cache return self._m2m_column_name_cache
@ -831,8 +831,8 @@ class ManyToManyField(RelatedField, Field):
for f in self.rel.through_model._meta.fields: for f in self.rel.through_model._meta.fields:
if hasattr(f,'rel') and f.rel and f.rel.to == related.parent_model: if hasattr(f,'rel') and f.rel and f.rel.to == related.parent_model:
if related.model == related.parent_model: if related.model == related.parent_model:
# If this is an m2m-intermediate to self, # If this is an m2m-intermediate to self,
# the first foreign key you find will be # the first foreign key you find will be
# the source column. Keep searching for # the source column. Keep searching for
# the second foreign key. # the second foreign key.
if found: if found:
@ -884,13 +884,13 @@ class ManyToManyField(RelatedField, Field):
return new_data return new_data
def contribute_to_class(self, cls, name): def contribute_to_class(self, cls, name):
super(ManyToManyField, self).contribute_to_class(cls, name) super(ManyToManyField, self).contribute_to_class(cls, name)
# Add the descriptor for the m2m relation # Add the descriptor for the m2m relation
setattr(cls, self.name, ReverseManyRelatedObjectsDescriptor(self)) setattr(cls, self.name, ReverseManyRelatedObjectsDescriptor(self))
# Set up the accessor for the m2m table name for the relation # Set up the accessor for the m2m table name for the relation
self.m2m_db_table = curry(self._get_m2m_db_table, cls._meta) self.m2m_db_table = curry(self._get_m2m_db_table, cls._meta)
# Populate some necessary rel arguments so that cross-app relations # Populate some necessary rel arguments so that cross-app relations
# work correctly. # work correctly.
if isinstance(self.rel.through, basestring): if isinstance(self.rel.through, basestring):
@ -900,7 +900,7 @@ class ManyToManyField(RelatedField, Field):
elif self.rel.through: elif self.rel.through:
self.rel.through_model = self.rel.through self.rel.through_model = self.rel.through
self.rel.through = self.rel.through._meta.object_name self.rel.through = self.rel.through._meta.object_name
if isinstance(self.rel.to, basestring): if isinstance(self.rel.to, basestring):
target = self.rel.to target = self.rel.to
else: else:

View File

@ -7,7 +7,7 @@ class Person(models.Model):
class Meta: class Meta:
ordering = ('name',) ordering = ('name',)
def __unicode__(self): def __unicode__(self):
return self.name return self.name
@ -19,7 +19,7 @@ class Group(models.Model):
class Meta: class Meta:
ordering = ('name',) ordering = ('name',)
def __unicode__(self): def __unicode__(self):
return self.name return self.name
@ -31,7 +31,7 @@ class Membership(models.Model):
class Meta: class Meta:
ordering = ('date_joined', 'invite_reason', 'group') ordering = ('date_joined', 'invite_reason', 'group')
def __unicode__(self): def __unicode__(self):
return "%s is a member of %s" % (self.person.name, self.group.name) return "%s is a member of %s" % (self.person.name, self.group.name)
@ -40,10 +40,10 @@ class CustomMembership(models.Model):
group = models.ForeignKey(Group) group = models.ForeignKey(Group)
weird_fk = models.ForeignKey(Membership, null=True) weird_fk = models.ForeignKey(Membership, null=True)
date_joined = models.DateTimeField(default=datetime.now) date_joined = models.DateTimeField(default=datetime.now)
def __unicode__(self): def __unicode__(self):
return "%s is a member of %s" % (self.person.name, self.group.name) return "%s is a member of %s" % (self.person.name, self.group.name)
class Meta: class Meta:
db_table = "test_table" db_table = "test_table"
@ -55,7 +55,7 @@ class TestNoDefaultsOrNulls(models.Model):
class PersonSelfRefM2M(models.Model): class PersonSelfRefM2M(models.Model):
name = models.CharField(max_length=5) name = models.CharField(max_length=5)
friends = models.ManyToManyField('self', through="Friendship", symmetrical=False) friends = models.ManyToManyField('self', through="Friendship", symmetrical=False)
def __unicode__(self): def __unicode__(self):
return self.name return self.name
@ -98,7 +98,7 @@ __test__ = {'API_TESTS':"""
>>> jim.group_set.all() >>> jim.group_set.all()
[<Group: Rock>, <Group: Roll>] [<Group: Rock>, <Group: Roll>]
# Querying the intermediary model works like normal. # Querying the intermediary model works like normal.
# In this case we get Jane's membership to Rock. # In this case we get Jane's membership to Rock.
>>> m = Membership.objects.get(person=jane, group=rock) >>> m = Membership.objects.get(person=jane, group=rock)
>>> m >>> m
@ -122,7 +122,7 @@ __test__ = {'API_TESTS':"""
### Forward Descriptors Tests ### ### Forward Descriptors Tests ###
# Due to complications with adding via an intermediary model, # Due to complications with adding via an intermediary model,
# the add method is not provided. # the add method is not provided.
>>> rock.members.add(bob) >>> rock.members.add(bob)
Traceback (most recent call last): Traceback (most recent call last):
@ -173,7 +173,7 @@ AttributeError: Cannot set values on a ManyToManyField which specifies an interm
### Reverse Descriptors Tests ### ### Reverse Descriptors Tests ###
# Due to complications with adding via an intermediary model, # Due to complications with adding via an intermediary model,
# the add method is not provided. # the add method is not provided.
>>> bob.group_set.add(rock) >>> bob.group_set.add(rock)
Traceback (most recent call last): Traceback (most recent call last):
@ -287,7 +287,7 @@ AttributeError: Cannot set values on a ManyToManyField which specifies an interm
### QUERY TESTS ### ### QUERY TESTS ###
# We can query for the related model by using its attribute name (members, in # We can query for the related model by using its attribute name (members, in
# this case). # this case).
>>> Group.objects.filter(members__name='Bob') >>> Group.objects.filter(members__name='Bob')
[<Group: Roll>] [<Group: Roll>]
@ -315,19 +315,19 @@ AttributeError: Cannot set values on a ManyToManyField which specifies an interm
>>> Group.objects.filter(membership__date_joined__gt=datetime(2005, 1, 1), membership__person =jane) >>> Group.objects.filter(membership__date_joined__gt=datetime(2005, 1, 1), membership__person =jane)
[<Group: Rock>] [<Group: Rock>]
# Queries also work in the reverse direction: Now let's see all of the people # Queries also work in the reverse direction: Now let's see all of the people
# that have joined Rock since 1 Jan 2005: # that have joined Rock since 1 Jan 2005:
>>> Person.objects.filter(membership__date_joined__gt=datetime(2005, 1, 1), membership__group=rock) >>> Person.objects.filter(membership__date_joined__gt=datetime(2005, 1, 1), membership__group=rock)
[<Person: Jane>, <Person: Jim>] [<Person: Jane>, <Person: Jim>]
# Conceivably, queries through membership could return correct, but non-unique # Conceivably, queries through membership could return correct, but non-unique
# querysets. To demonstrate this, we query for all people who have joined a # querysets. To demonstrate this, we query for all people who have joined a
# group after 2004: # group after 2004:
>>> Person.objects.filter(membership__date_joined__gt=datetime(2004, 1, 1)) >>> Person.objects.filter(membership__date_joined__gt=datetime(2004, 1, 1))
[<Person: Jane>, <Person: Jim>, <Person: Jim>] [<Person: Jane>, <Person: Jim>, <Person: Jim>]
# Jim showed up twice, because he joined two groups ('Rock', and 'Roll'): # Jim showed up twice, because he joined two groups ('Rock', and 'Roll'):
>>> [(m.person.name, m.group.name) for m in >>> [(m.person.name, m.group.name) for m in
... Membership.objects.filter(date_joined__gt=datetime(2004, 1, 1))] ... Membership.objects.filter(date_joined__gt=datetime(2004, 1, 1))]
[(u'Jane', u'Rock'), (u'Jim', u'Rock'), (u'Jim', u'Roll')] [(u'Jane', u'Rock'), (u'Jim', u'Rock'), (u'Jim', u'Roll')]