1
0
mirror of https://github.com/django/django.git synced 2025-07-04 01:39:20 +00:00

magic-removal: Merged to [2650]

git-svn-id: http://code.djangoproject.com/svn/django/branches/magic-removal@2651 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Adrian Holovaty 2006-04-10 03:41:15 +00:00
parent 1345cd0c17
commit a1aba10865
8 changed files with 30 additions and 30 deletions

View File

@ -88,7 +88,7 @@ def result_headers(cl):
# Non-field list_display values don't get ordering capability.
yield {"text": header}
else:
if isinstance(f.rel, models.ManyToOne) and f.null:
if isinstance(f.rel, models.ManyToOneRel) and f.null:
yield {"text": f.verbose_name}
else:
th_classes = []
@ -128,7 +128,7 @@ def items_for_result(cl, result):
else:
field_val = getattr(result, f.attname)
if isinstance(f.rel, models.ManyToOne):
if isinstance(f.rel, models.ManyToOneRel):
if field_val is not None:
result_repr = getattr(result, f.name)
else:

View File

@ -102,7 +102,7 @@ class FieldWrapper(object):
return self.field.blank and ' class="optional"' or ''
def use_raw_id_admin(self):
return isinstance(self.field.rel, (models.ManyToOne, models.ManyToMany)) \
return isinstance(self.field.rel, (models.ManyToOneRel, models.ManyToManyRel)) \
and self.field.rel.raw_id_admin
class FormFieldCollectionWrapper(object):
@ -182,7 +182,7 @@ auto_populated_field_script = register.simple_tag(auto_populated_field_script)
def filter_interface_script_maybe(bound_field):
f = bound_field.field
if f.rel and isinstance(f.rel, models.ManyToMany) and f.rel.filter_interface:
if f.rel and isinstance(f.rel, models.ManyToManyRel) and f.rel.filter_interface:
return '<script type="text/javascript">addEvent(window, "load", function(e) {' \
' SelectFilter.init("id_%s", "%s", %s, "%s"); });</script>\n' % (
f.name, f.verbose_name, f.rel.filter_interface-1, settings.ADMIN_MEDIA_PREFIX)

View File

@ -37,7 +37,7 @@ IS_POPUP_VAR = 'pop'
# Text to display within change-list table cells if the value is blank.
EMPTY_CHANGELIST_VALUE = '(None)'
use_raw_id_admin = lambda field: isinstance(field.rel, (models.ManyToOne, models.ManyToMany)) and field.rel.raw_id_admin
use_raw_id_admin = lambda field: isinstance(field.rel, (models.ManyToOneRel, models.ManyToManyRel)) and field.rel.raw_id_admin
class IncorrectLookupParameters(Exception):
pass
@ -116,7 +116,7 @@ class AdminBoundField(object):
self.raw_id_admin = use_raw_id_admin(field)
self.is_date_time = isinstance(field, models.DateTimeField)
self.is_file_field = isinstance(field, models.FileField)
self.needs_add_label = field.rel and isinstance(field.rel, models.ManyToOne) or isinstance(field.rel, models.ManyToMany) and field.rel.to._meta.admin
self.needs_add_label = field.rel and isinstance(field.rel, models.ManyToOneRel) or isinstance(field.rel, models.ManyToManyRel) and field.rel.to._meta.admin
self.hidden = isinstance(self.field, models.AutoField)
self.first = False
@ -140,9 +140,9 @@ class AdminBoundField(object):
try:
return self._display
except AttributeError:
if isinstance(self.field.rel, models.ManyToOne):
if isinstance(self.field.rel, models.ManyToOneRel):
self._display = getattr(self.original, 'get_%s' % self.field.name)()
elif isinstance(self.field.rel, models.ManyToMany):
elif isinstance(self.field.rel, models.ManyToManyRel):
self._display = ", ".join([str(obj) for obj in getattr(self.original, 'get_%s_list' % self.field.rel.singular)()])
return self._display
@ -413,7 +413,7 @@ def _get_deleted_objects(deleted_objects, perms_needed, user, obj, opts, current
continue
opts_seen.append(related.opts)
rel_opts_name = related.get_accessor_name()
if isinstance(related.field.rel, models.OneToOne):
if isinstance(related.field.rel, models.OneToOneRel):
try:
sub_obj = getattr(obj, rel_opts_name)
except ObjectDoesNotExist:
@ -650,7 +650,7 @@ class ChangeList(object):
except models.FieldDoesNotExist:
pass
else:
if not isinstance(f.rel, models.ManyToOne) or not f.null:
if not isinstance(f.rel, models.ManyToOneRel) or not f.null:
order_field = f.name
except (IndexError, ValueError):
pass # Invalid ordering specified. Just use the default.
@ -679,7 +679,7 @@ class ChangeList(object):
except models.FieldDoesNotExist:
pass
else:
if isinstance(f.rel, models.ManyToOne):
if isinstance(f.rel, models.ManyToOneRel):
qs = qs.select_related()
break
@ -692,7 +692,7 @@ class ChangeList(object):
except models.FieldDoesNotExist:
pass
else:
if isinstance(f.rel, models.ManyToOne):
if isinstance(f.rel, models.ManyToOneRel):
rel_ordering = f.rel.to._meta.ordering and f.rel.to._meta.ordering[0] or f.rel.to._meta.pk.column
lookup_order_field = '%s.%s' % (f.rel.to._meta.db_table, rel_ordering)

View File

@ -896,7 +896,7 @@ def get_validation_errors(outfile, app=None):
except models.FieldDoesNotExist:
e.add(opts, '"unique_together" refers to %s, a field that doesn\'t exist. Check your syntax.' % field_name)
else:
if isinstance(f.rel, models.ManyToMany):
if isinstance(f.rel, models.ManyToManyRel):
e.add(opts, '"unique_together" refers to %s. ManyToManyFields are not supported in unique_together.' % f.name)
return len(e.errors)

View File

@ -3,7 +3,7 @@ import django.db.models.manager
from django.core import validators
from django.core.exceptions import ObjectDoesNotExist
from django.db.models.fields import AutoField, ImageField, FieldDoesNotExist
from django.db.models.fields.related import OneToOne, ManyToOne
from django.db.models.fields.related import OneToOneRel, ManyToOneRel
from django.db.models.related import RelatedObject
from django.db.models.query import orderlist2sql, delete_objects
from django.db.models.options import Options, AdminOptions
@ -88,7 +88,7 @@ class Model(object):
dispatcher.send(signal=signals.pre_init, sender=self.__class__, args=args, kwargs=kwargs)
if kwargs:
for f in self._meta.fields:
if isinstance(f.rel, ManyToOne):
if isinstance(f.rel, ManyToOneRel):
try:
# Assume object instance was passed in.
rel_obj = kwargs.pop(f.name)
@ -234,7 +234,7 @@ class Model(object):
for related in self._meta.get_all_related_objects():
rel_opts_name = related.get_accessor_name()
if isinstance(related.field.rel, OneToOne):
if isinstance(related.field.rel, OneToOneRel):
try:
sub_obj = getattr(self, rel_opts_name)
except ObjectDoesNotExist:

View File

@ -431,7 +431,7 @@ class ForeignKey(RelatedField, Field):
warnings.warn("edit_inline_type is deprecated. Use edit_inline instead.")
kwargs['edit_inline'] = kwargs.pop('edit_inline_type')
kwargs['rel'] = ManyToOne(to, to_field,
kwargs['rel'] = ManyToOneRel(to, to_field,
num_in_admin=kwargs.pop('num_in_admin', 3),
min_num_in_admin=kwargs.pop('min_num_in_admin', None),
max_num_in_admin=kwargs.pop('max_num_in_admin', None),
@ -514,7 +514,7 @@ class OneToOneField(RelatedField, IntegerField):
warnings.warn("edit_inline_type is deprecated. Use edit_inline instead.")
kwargs['edit_inline'] = kwargs.pop('edit_inline_type')
kwargs['rel'] = OneToOne(to, to_field,
kwargs['rel'] = OneToOneRel(to, to_field,
num_in_admin=kwargs.pop('num_in_admin', 0),
edit_inline=kwargs.pop('edit_inline', False),
related_name=kwargs.pop('related_name', None),
@ -544,7 +544,7 @@ class OneToOneField(RelatedField, IntegerField):
class ManyToManyField(RelatedField, Field):
def __init__(self, to, **kwargs):
kwargs['verbose_name'] = kwargs.get('verbose_name', None)
kwargs['rel'] = ManyToMany(to, kwargs.pop('singular', None),
kwargs['rel'] = ManyToManyRel(to, kwargs.pop('singular', None),
num_in_admin=kwargs.pop('num_in_admin', 0),
related_name=kwargs.pop('related_name', None),
filter_interface=kwargs.pop('filter_interface', None),
@ -649,7 +649,7 @@ class ManyToManyField(RelatedField, Field):
def set_attributes_from_rel(self):
pass
class ManyToOne:
class ManyToOneRel:
def __init__(self, to, field_name, num_in_admin=3, min_num_in_admin=None,
max_num_in_admin=None, num_extra_on_change=1, edit_inline=False,
related_name=None, limit_choices_to=None, lookup_overrides=None, raw_id_admin=False):
@ -670,7 +670,7 @@ class ManyToOne:
"Returns the Field in the 'to' object to which this relationship is tied."
return self.to._meta.get_field(self.field_name)
class OneToOne(ManyToOne):
class OneToOneRel(ManyToOneRel):
def __init__(self, to, field_name, num_in_admin=0, edit_inline=False,
related_name=None, limit_choices_to=None, lookup_overrides=None,
raw_id_admin=False):
@ -682,7 +682,7 @@ class OneToOne(ManyToOne):
self.raw_id_admin = raw_id_admin
self.multiple = False
class ManyToMany:
class ManyToManyRel:
def __init__(self, to, singular=None, num_in_admin=0, related_name=None,
filter_interface=None, limit_choices_to=None, raw_id_admin=False, symmetrical=True):
self.to = to
@ -696,4 +696,4 @@ class ManyToMany:
self.symmetrical = symmetrical
self.multiple = True
assert not (self.raw_id_admin and self.filter_interface), "ManyToMany relationships may not use both raw_id_admin and filter_interface"
assert not (self.raw_id_admin and self.filter_interface), "ManyToManyRels may not use both raw_id_admin and filter_interface"

View File

@ -272,10 +272,10 @@ class AutomaticChangeManipulator(AutomaticManipulator):
super(AutomaticChangeManipulator, self).__init__(follow=follow)
def manipulator_validator_unique_together(field_name_list, opts, self, field_data, all_data):
from django.db.models.fields.related import ManyToOne
from django.db.models.fields.related import ManyToOneRel
from django.utils.text import get_text_list
field_list = [opts.get_field(field_name) for field_name in field_name_list]
if isinstance(field_list[0].rel, ManyToOne):
if isinstance(field_list[0].rel, ManyToOneRel):
kwargs = {'%s__%s__iexact' % (field_name_list[0], field_list[0].rel.field_name): field_data}
else:
kwargs = {'%s__iexact' % field_name_list[0]: field_data}
@ -288,7 +288,7 @@ def manipulator_validator_unique_together(field_name_list, opts, self, field_dat
# This will be caught by another validator, assuming the field
# doesn't have blank=True.
return
if isinstance(f.rel, ManyToOne):
if isinstance(f.rel, ManyToOneRel):
kwargs['%s__pk' % f.name] = field_val
else:
kwargs['%s__iexact' % f.name] = field_val
@ -303,13 +303,13 @@ def manipulator_validator_unique_together(field_name_list, opts, self, field_dat
{'object': capfirst(opts.verbose_name), 'type': field_list[0].verbose_name, 'field': get_text_list(field_name_list[1:], 'and')}
def manipulator_validator_unique_for_date(from_field, date_field, opts, lookup_type, self, field_data, all_data):
from django.db.models.fields.related import ManyToOne
from django.db.models.fields.related import ManyToOneRel
date_str = all_data.get(date_field.get_manipulator_field_names('')[0], None)
date_val = forms.DateField.html2python(date_str)
if date_val is None:
return # Date was invalid. This will be caught by another validator.
lookup_kwargs = {'%s__year' % date_field.name: date_val.year}
if isinstance(from_field.rel, ManyToOne):
if isinstance(from_field.rel, ManyToOneRel):
lookup_kwargs['%s__pk' % from_field.name] = field_data
else:
lookup_kwargs['%s__iexact' % from_field.name] = field_data

View File

@ -1,5 +1,5 @@
from django.db.models.related import RelatedObject
from django.db.models.fields.related import ManyToMany
from django.db.models.fields.related import ManyToManyRel
from django.db.models.fields import AutoField, FieldDoesNotExist
from django.db.models.loading import get_models
from django.db.models.query import orderlist2sql
@ -76,7 +76,7 @@ class Options:
# Insert the given field in the order in which it was created, using
# the "creation_counter" attribute of the field.
# Move many-to-many related fields from self.fields into self.many_to_many.
if field.rel and isinstance(field.rel, ManyToMany):
if field.rel and isinstance(field.rel, ManyToManyRel):
self.many_to_many.insert(bisect(self.many_to_many, field), field)
else:
self.fields.insert(bisect(self.fields, field), field)