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:
parent
1345cd0c17
commit
a1aba10865
@ -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:
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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:
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user