mirror of
https://github.com/django/django.git
synced 2024-12-22 17:16:24 +00:00
Refs #27532 -- Removed Model._meta.has_auto_field per deprecation timeline.
This commit is contained in:
parent
48d57788ee
commit
5bcca2a056
@ -1,6 +1,5 @@
|
|||||||
import copy
|
import copy
|
||||||
import inspect
|
import inspect
|
||||||
import warnings
|
|
||||||
from bisect import bisect
|
from bisect import bisect
|
||||||
from collections import OrderedDict, defaultdict
|
from collections import OrderedDict, defaultdict
|
||||||
|
|
||||||
@ -13,7 +12,6 @@ from django.db.models.fields import AutoField
|
|||||||
from django.db.models.fields.proxy import OrderWrt
|
from django.db.models.fields.proxy import OrderWrt
|
||||||
from django.db.models.query_utils import PathInfo
|
from django.db.models.query_utils import PathInfo
|
||||||
from django.utils.datastructures import ImmutableList, OrderedSet
|
from django.utils.datastructures import ImmutableList, OrderedSet
|
||||||
from django.utils.deprecation import RemovedInDjango21Warning
|
|
||||||
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
|
||||||
@ -818,19 +816,6 @@ class Options:
|
|||||||
self._get_fields_cache[cache_key] = fields
|
self._get_fields_cache[cache_key] = fields
|
||||||
return fields
|
return fields
|
||||||
|
|
||||||
@property
|
|
||||||
def has_auto_field(self):
|
|
||||||
warnings.warn(
|
|
||||||
'Model._meta.has_auto_field is deprecated in favor of checking if '
|
|
||||||
'Model._meta.auto_field is not None.',
|
|
||||||
RemovedInDjango21Warning, stacklevel=2
|
|
||||||
)
|
|
||||||
return self.auto_field is not None
|
|
||||||
|
|
||||||
@has_auto_field.setter
|
|
||||||
def has_auto_field(self, value):
|
|
||||||
pass
|
|
||||||
|
|
||||||
@cached_property
|
@cached_property
|
||||||
def _property_names(self):
|
def _property_names(self):
|
||||||
"""Return a set of the names of the properties defined on the model."""
|
"""Return a set of the names of the properties defined on the model."""
|
||||||
|
@ -254,3 +254,5 @@ how to remove usage of these features.
|
|||||||
|
|
||||||
* The ``USE_ETAGS`` setting is removed. ``CommonMiddleware`` and
|
* The ``USE_ETAGS`` setting is removed. ``CommonMiddleware`` and
|
||||||
``django.utils.cache.patch_response_headers()`` no longer set ETags.
|
``django.utils.cache.patch_response_headers()`` no longer set ETags.
|
||||||
|
|
||||||
|
* The ``Model._meta.has_auto_field`` attribute is removed.
|
||||||
|
@ -1,22 +0,0 @@
|
|||||||
import warnings
|
|
||||||
|
|
||||||
from django.test import SimpleTestCase
|
|
||||||
|
|
||||||
from .models import Person
|
|
||||||
|
|
||||||
|
|
||||||
class HasAutoFieldTests(SimpleTestCase):
|
|
||||||
|
|
||||||
def test_get_warns(self):
|
|
||||||
with warnings.catch_warnings(record=True) as warns:
|
|
||||||
warnings.simplefilter('always')
|
|
||||||
Person._meta.has_auto_field
|
|
||||||
self.assertEqual(len(warns), 1)
|
|
||||||
self.assertEqual(
|
|
||||||
str(warns[0].message),
|
|
||||||
'Model._meta.has_auto_field is deprecated in favor of checking if '
|
|
||||||
'Model._meta.auto_field is not None.',
|
|
||||||
)
|
|
||||||
|
|
||||||
def test_set_does_nothing(self):
|
|
||||||
Person._meta.has_auto_field = True
|
|
Loading…
Reference in New Issue
Block a user