mirror of
https://github.com/Hopiu/django-model-utils.git
synced 2026-03-17 04:10:24 +00:00
Remove codes related to old versions of Django.
This commit is contained in:
parent
79cbc96055
commit
92ff6b927f
3 changed files with 9 additions and 23 deletions
|
|
@ -1,6 +1,5 @@
|
|||
import warnings
|
||||
|
||||
import django
|
||||
from django.core.exceptions import ObjectDoesNotExist
|
||||
from django.db import connection
|
||||
from django.db import models
|
||||
|
|
@ -96,18 +95,11 @@ class InheritanceQuerySetMixin:
|
|||
return super()._chain(**kwargs)
|
||||
|
||||
def _clone(self, klass=None, setup=False, **kwargs):
|
||||
if django.VERSION >= (2, 0):
|
||||
qs = super()._clone()
|
||||
for name in ['subclasses', '_annotated']:
|
||||
if hasattr(self, name):
|
||||
setattr(qs, name, getattr(self, name))
|
||||
return qs
|
||||
|
||||
qs = super()._clone()
|
||||
for name in ['subclasses', '_annotated']:
|
||||
if hasattr(self, name):
|
||||
kwargs[name] = getattr(self, name)
|
||||
|
||||
return super()._clone(**kwargs)
|
||||
setattr(qs, name, getattr(self, name))
|
||||
return qs
|
||||
|
||||
def annotate(self, *args, **kwargs):
|
||||
qset = super().annotate(*args, **kwargs)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
from copy import deepcopy
|
||||
from functools import wraps
|
||||
|
||||
import django
|
||||
from django.core.exceptions import FieldError
|
||||
from django.db import models
|
||||
from django.db.models.fields.files import FileDescriptor
|
||||
|
|
@ -95,7 +94,7 @@ class FieldInstanceTracker:
|
|||
|
||||
@property
|
||||
def deferred_fields(self):
|
||||
return self.instance._deferred_fields if django.VERSION < (1, 10) else self.instance.get_deferred_fields()
|
||||
return self.instance.get_deferred_fields()
|
||||
|
||||
def get_field_value(self, field):
|
||||
return getattr(self.instance, self.field_map[field])
|
||||
|
|
@ -213,12 +212,11 @@ class FieldTracker:
|
|||
if self.fields is None:
|
||||
self.fields = (field.attname for field in sender._meta.fields)
|
||||
self.fields = set(self.fields)
|
||||
if django.VERSION >= (1, 10):
|
||||
for field_name in self.fields:
|
||||
descriptor = getattr(sender, field_name)
|
||||
wrapper_cls = DescriptorWrapper.cls_for_descriptor(descriptor)
|
||||
wrapped_descriptor = wrapper_cls(field_name, descriptor, self.attname)
|
||||
setattr(sender, field_name, wrapped_descriptor)
|
||||
for field_name in self.fields:
|
||||
descriptor = getattr(sender, field_name)
|
||||
wrapper_cls = DescriptorWrapper.cls_for_descriptor(descriptor)
|
||||
wrapped_descriptor = wrapper_cls(field_name, descriptor, self.attname)
|
||||
setattr(sender, field_name, wrapped_descriptor)
|
||||
self.field_map = self.get_field_map(sender)
|
||||
models.signals.post_init.connect(self.initialize_tracker)
|
||||
self.model_class = sender
|
||||
|
|
|
|||
|
|
@ -1,6 +1,3 @@
|
|||
from unittest import skipIf
|
||||
|
||||
import django
|
||||
from django.test import TestCase
|
||||
from django.db.models import Prefetch
|
||||
|
||||
|
|
@ -8,7 +5,6 @@ from tests.models import InheritanceManagerTestParent, InheritanceManagerTestChi
|
|||
|
||||
|
||||
class InheritanceIterableTest(TestCase):
|
||||
@skipIf(django.VERSION[:2] == (1, 10), "Django 1.10 expects ModelIterable not a subclass of it")
|
||||
def test_prefetch(self):
|
||||
qs = InheritanceManagerTestChild1.objects.all().prefetch_related(
|
||||
Prefetch(
|
||||
|
|
|
|||
Loading…
Reference in a new issue