Refs #28814 -- Imported from collections.abc to fix Python 3.7 deprecation warnings.
https://bugs.python.org/issue25988
This commit is contained in:
parent
8b21878357
commit
aba9763b51
|
@ -1,4 +1,4 @@
|
||||||
import collections
|
import collections.abc
|
||||||
import warnings
|
import warnings
|
||||||
from math import ceil
|
from math import ceil
|
||||||
|
|
||||||
|
@ -127,7 +127,7 @@ class Paginator:
|
||||||
QuerySetPaginator = Paginator # For backwards-compatibility.
|
QuerySetPaginator = Paginator # For backwards-compatibility.
|
||||||
|
|
||||||
|
|
||||||
class Page(collections.Sequence):
|
class Page(collections.abc.Sequence):
|
||||||
|
|
||||||
def __init__(self, object_list, number, paginator):
|
def __init__(self, object_list, number, paginator):
|
||||||
self.object_list = object_list
|
self.object_list = object_list
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import builtins
|
import builtins
|
||||||
import collections
|
import collections.abc
|
||||||
import datetime
|
import datetime
|
||||||
import decimal
|
import decimal
|
||||||
import enum
|
import enum
|
||||||
|
@ -341,7 +341,7 @@ def serializer_factory(value):
|
||||||
return FunctoolsPartialSerializer(value)
|
return FunctoolsPartialSerializer(value)
|
||||||
if isinstance(value, (types.FunctionType, types.BuiltinFunctionType, types.MethodType)):
|
if isinstance(value, (types.FunctionType, types.BuiltinFunctionType, types.MethodType)):
|
||||||
return FunctionTypeSerializer(value)
|
return FunctionTypeSerializer(value)
|
||||||
if isinstance(value, collections.Iterable):
|
if isinstance(value, collections.abc.Iterable):
|
||||||
return IterableSerializer(value)
|
return IterableSerializer(value)
|
||||||
if isinstance(value, (COMPILED_REGEX_TYPE, RegexObject)):
|
if isinstance(value, (COMPILED_REGEX_TYPE, RegexObject)):
|
||||||
return RegexSerializer(value)
|
return RegexSerializer(value)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import collections
|
import collections.abc
|
||||||
import copy
|
import copy
|
||||||
import datetime
|
import datetime
|
||||||
import decimal
|
import decimal
|
||||||
|
@ -152,7 +152,7 @@ class Field(RegisterLookupMixin):
|
||||||
self.unique_for_date = unique_for_date
|
self.unique_for_date = unique_for_date
|
||||||
self.unique_for_month = unique_for_month
|
self.unique_for_month = unique_for_month
|
||||||
self.unique_for_year = unique_for_year
|
self.unique_for_year = unique_for_year
|
||||||
if isinstance(choices, collections.Iterator):
|
if isinstance(choices, collections.abc.Iterator):
|
||||||
choices = list(choices)
|
choices = list(choices)
|
||||||
self.choices = choices or []
|
self.choices = choices or []
|
||||||
self.help_text = help_text
|
self.help_text = help_text
|
||||||
|
@ -463,7 +463,7 @@ class Field(RegisterLookupMixin):
|
||||||
for name, default in possibles.items():
|
for name, default in possibles.items():
|
||||||
value = getattr(self, attr_overrides.get(name, name))
|
value = getattr(self, attr_overrides.get(name, name))
|
||||||
# Unroll anything iterable for choices into a concrete list
|
# Unroll anything iterable for choices into a concrete list
|
||||||
if name == "choices" and isinstance(value, collections.Iterable):
|
if name == "choices" and isinstance(value, collections.abc.Iterable):
|
||||||
value = list(value)
|
value = list(value)
|
||||||
# Do correct kind of comparison
|
# Do correct kind of comparison
|
||||||
if name in equals_comparison:
|
if name in equals_comparison:
|
||||||
|
|
|
@ -6,7 +6,8 @@ themselves do not have to (and could be backed by things other than SQL
|
||||||
databases). The abstraction barrier only works one way: this module has to know
|
databases). The abstraction barrier only works one way: this module has to know
|
||||||
all about the internals of models in order to get the information it needs.
|
all about the internals of models in order to get the information it needs.
|
||||||
"""
|
"""
|
||||||
from collections import Counter, Iterator, Mapping, OrderedDict, namedtuple
|
from collections import Counter, OrderedDict, namedtuple
|
||||||
|
from collections.abc import Iterator, Mapping
|
||||||
from itertools import chain, count, product
|
from itertools import chain, count, product
|
||||||
from string import ascii_uppercase
|
from string import ascii_uppercase
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import collections
|
import collections.abc
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from math import ceil
|
from math import ceil
|
||||||
from operator import attrgetter
|
from operator import attrgetter
|
||||||
|
@ -99,7 +99,7 @@ class LookupTests(TestCase):
|
||||||
def test_iterator(self):
|
def test_iterator(self):
|
||||||
# Each QuerySet gets iterator(), which is a generator that "lazily"
|
# Each QuerySet gets iterator(), which is a generator that "lazily"
|
||||||
# returns results using database-level iteration.
|
# returns results using database-level iteration.
|
||||||
self.assertIsInstance(Article.objects.iterator(), collections.Iterator)
|
self.assertIsInstance(Article.objects.iterator(), collections.abc.Iterator)
|
||||||
|
|
||||||
self.assertQuerysetEqual(
|
self.assertQuerysetEqual(
|
||||||
Article.objects.iterator(),
|
Article.objects.iterator(),
|
||||||
|
|
Loading…
Reference in New Issue