mirror of https://github.com/django/django.git
Renamed ForeignObject.related_field to target_field
This commit is contained in:
parent
d43aa28f67
commit
f9c70bb3a1
|
@ -593,10 +593,10 @@ class Model(six.with_metaclass(ModelBase)):
|
|||
continue
|
||||
setattr(self, field.attname, getattr(db_instance, field.attname))
|
||||
# Throw away stale foreign key references.
|
||||
if field.rel and field.get_cache_name() in self.__dict__:
|
||||
if field.is_relation and field.get_cache_name() in self.__dict__:
|
||||
rel_instance = getattr(self, field.get_cache_name())
|
||||
local_val = getattr(db_instance, field.attname)
|
||||
related_val = None if rel_instance is None else getattr(rel_instance, field.related_field.attname)
|
||||
related_val = None if rel_instance is None else getattr(rel_instance, field.target_field.attname)
|
||||
if local_val != related_val:
|
||||
del self.__dict__[field.get_cache_name()]
|
||||
self._state.db = db_instance._state.db
|
||||
|
|
|
@ -1082,7 +1082,7 @@ def create_many_related_manager(superclass, rel, reverse):
|
|||
self.clear()
|
||||
self.add(*objs)
|
||||
else:
|
||||
old_ids = set(self.using(db).values_list(self.target_field.related_field.attname, flat=True))
|
||||
old_ids = set(self.using(db).values_list(self.target_field.target_field.attname, flat=True))
|
||||
|
||||
new_objs = []
|
||||
for obj in objs:
|
||||
|
@ -1224,7 +1224,7 @@ def create_many_related_manager(superclass, rel, reverse):
|
|||
target_model_qs = super(ManyRelatedManager, self).get_queryset()
|
||||
if target_model_qs._has_filters():
|
||||
old_vals = target_model_qs.using(db).filter(**{
|
||||
'%s__in' % self.target_field.related_field.attname: old_ids})
|
||||
'%s__in' % self.target_field.target_field.attname: old_ids})
|
||||
else:
|
||||
old_vals = old_ids
|
||||
filters = self._build_remove_filters(old_vals)
|
||||
|
@ -1941,7 +1941,7 @@ class ForeignKey(ForeignObject):
|
|||
return name, path, args, kwargs
|
||||
|
||||
@property
|
||||
def related_field(self):
|
||||
def target_field(self):
|
||||
return self.foreign_related_fields[0]
|
||||
|
||||
def get_reverse_path_info(self):
|
||||
|
@ -1987,19 +1987,19 @@ class ForeignKey(ForeignObject):
|
|||
"Here we check if the default value is an object and return the to_field if so."
|
||||
field_default = super(ForeignKey, self).get_default()
|
||||
if isinstance(field_default, self.rel.to):
|
||||
return getattr(field_default, self.related_field.attname)
|
||||
return getattr(field_default, self.target_field.attname)
|
||||
return field_default
|
||||
|
||||
def get_db_prep_save(self, value, connection):
|
||||
if value is None or (value == '' and
|
||||
(not self.related_field.empty_strings_allowed or
|
||||
(not self.target_field.empty_strings_allowed or
|
||||
connection.features.interprets_empty_strings_as_nulls)):
|
||||
return None
|
||||
else:
|
||||
return self.related_field.get_db_prep_save(value, connection=connection)
|
||||
return self.target_field.get_db_prep_save(value, connection=connection)
|
||||
|
||||
def get_db_prep_value(self, value, connection, prepared=False):
|
||||
return self.related_field.get_db_prep_value(value, connection, prepared)
|
||||
return self.target_field.get_db_prep_value(value, connection, prepared)
|
||||
|
||||
def value_to_string(self, obj):
|
||||
if not obj:
|
||||
|
@ -2039,7 +2039,7 @@ class ForeignKey(ForeignObject):
|
|||
# in which case the column type is simply that of an IntegerField.
|
||||
# If the database needs similar types for key fields however, the only
|
||||
# thing we can do is making AutoField an IntegerField.
|
||||
rel_field = self.related_field
|
||||
rel_field = self.target_field
|
||||
if (isinstance(rel_field, AutoField) or
|
||||
(not connection.features.related_fields_match_type and
|
||||
isinstance(rel_field, (PositiveIntegerField,
|
||||
|
@ -2062,7 +2062,7 @@ class ForeignKey(ForeignObject):
|
|||
return converters
|
||||
|
||||
def get_col(self, alias, output_field=None):
|
||||
return super(ForeignKey, self).get_col(alias, output_field or self.related_field)
|
||||
return super(ForeignKey, self).get_col(alias, output_field or self.target_field)
|
||||
|
||||
|
||||
class OneToOneField(ForeignKey):
|
||||
|
|
Loading…
Reference in New Issue