Refs #16508 -- Removed virtual aliases of "private fields".

Per deprecation timeline.
This commit is contained in:
Tim Graham 2016-12-31 11:54:49 -05:00
parent eba093e8b0
commit 933dc62742
3 changed files with 7 additions and 27 deletions

View File

@ -27,7 +27,6 @@ from django.utils.datastructures import DictWrapper
from django.utils.dateparse import ( from django.utils.dateparse import (
parse_date, parse_datetime, parse_duration, parse_time, parse_date, parse_datetime, parse_duration, parse_time,
) )
from django.utils.deprecation import RemovedInDjango20Warning
from django.utils.duration import duration_string from django.utils.duration import duration_string
from django.utils.encoding import ( from django.utils.encoding import (
force_bytes, force_text, python_2_unicode_compatible, smart_text, force_bytes, force_text, python_2_unicode_compatible, smart_text,
@ -673,7 +672,7 @@ class Field(RegisterLookupMixin):
if self.verbose_name is None and self.name: if self.verbose_name is None and self.name:
self.verbose_name = self.name.replace('_', ' ') self.verbose_name = self.name.replace('_', ' ')
def contribute_to_class(self, cls, name, private_only=False, virtual_only=NOT_PROVIDED): def contribute_to_class(self, cls, name, private_only=False):
""" """
Register the field with the model class it belongs to. Register the field with the model class it belongs to.
@ -681,13 +680,6 @@ class Field(RegisterLookupMixin):
created for every subclass of cls, even if cls is not an abstract created for every subclass of cls, even if cls is not an abstract
model. model.
""" """
if virtual_only is not NOT_PROVIDED:
warnings.warn(
"The `virtual_only` argument of Field.contribute_to_class() "
"has been renamed to `private_only`.",
RemovedInDjango20Warning, stacklevel=2
)
private_only = virtual_only
self.set_attributes_from_name(name) self.set_attributes_from_name(name)
self.model = cls self.model = cls
if private_only: if private_only:

View File

@ -19,15 +19,12 @@ from django.utils import six
from django.utils.datastructures import ImmutableList, OrderedSet from django.utils.datastructures import ImmutableList, OrderedSet
from django.utils.deprecation import ( from django.utils.deprecation import (
RemovedInDjango20Warning, RemovedInDjango21Warning, RemovedInDjango20Warning, RemovedInDjango21Warning,
warn_about_renamed_method,
) )
from django.utils.encoding import force_text, python_2_unicode_compatible from django.utils.encoding import force_text, python_2_unicode_compatible
from django.utils.functional import cached_property from django.utils.functional import cached_property
from django.utils.text import camel_case_to_spaces, format_lazy from django.utils.text import camel_case_to_spaces, format_lazy
from django.utils.translation import override from django.utils.translation import override
NOT_PROVIDED = object()
PROXY_PARENTS = object() PROXY_PARENTS = object()
EMPTY_RELATION_TREE = tuple() EMPTY_RELATION_TREE = tuple()
@ -259,13 +256,7 @@ class Options(object):
self.local_managers.append(manager) self.local_managers.append(manager)
self._expire_cache() self._expire_cache()
def add_field(self, field, private=False, virtual=NOT_PROVIDED): def add_field(self, field, private=False):
if virtual is not NOT_PROVIDED:
warnings.warn(
"The `virtual` argument of Options.add_field() has been renamed to `private`.",
RemovedInDjango20Warning, stacklevel=2
)
private = virtual
# Insert the given field in the order in which it was created, using # Insert the given field in the order in which it was created, using
# the "creation_counter" attribute of the field. # the "creation_counter" attribute of the field.
# Move many-to-many related fields from self.fields into # Move many-to-many related fields from self.fields into
@ -516,14 +507,6 @@ class Options(object):
"concrete_fields", (f for f in self.fields if f.concrete) "concrete_fields", (f for f in self.fields if f.concrete)
) )
@property
@warn_about_renamed_method(
'Options', 'virtual_fields', 'private_fields',
RemovedInDjango20Warning
)
def virtual_fields(self):
return self.private_fields
@cached_property @cached_property
def local_concrete_fields(self): def local_concrete_fields(self):
""" """

View File

@ -361,3 +361,8 @@ these features.
* Using ``User.is_authenticated()`` and ``User.is_anonymous()`` as methods * Using ``User.is_authenticated()`` and ``User.is_anonymous()`` as methods
rather than properties is no longer be supported. rather than properties is no longer be supported.
* The ``Model._meta.virtual_fields`` attribute is removed.
* The keyword arguments ``virtual_only`` in ``Field.contribute_to_class()`` and
``virtual`` in ``Model._meta.add_field()`` are removed.