summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Pope <nick.pope@flightdataservices.com>2019-01-09 00:21:31 +0000
committerTim Graham <timograham@gmail.com>2019-01-08 19:21:31 -0500
commit99b3ab2781e8f8da2ce77a07627da862d3c450dd (patch)
tree3441c7bd86ea0d59343bf5592f05082e7f6b4d46
parent36fceeec883c5082168714a0eb14a2fe40f9d79b (diff)
Simplified some imports for database functions.
Used more specific modules to reduce the risk of circular imports.
-rw-r--r--django/db/models/functions/comparison.py2
-rw-r--r--django/db/models/functions/datetime.py10
-rw-r--r--django/db/models/functions/math.py6
-rw-r--r--django/db/models/functions/text.py8
-rw-r--r--django/db/models/functions/window.py3
5 files changed, 16 insertions, 13 deletions
diff --git a/django/db/models/functions/comparison.py b/django/db/models/functions/comparison.py
index 44f269369d..ff0f0e09d0 100644
--- a/django/db/models/functions/comparison.py
+++ b/django/db/models/functions/comparison.py
@@ -1,5 +1,5 @@
"""Database functions that do comparisons or type conversions."""
-from django.db.models import Func
+from django.db.models.expressions import Func
class Cast(Func):
diff --git a/django/db/models/functions/datetime.py b/django/db/models/functions/datetime.py
index 51be8408e4..7dec5c6690 100644
--- a/django/db/models/functions/datetime.py
+++ b/django/db/models/functions/datetime.py
@@ -1,12 +1,12 @@
from datetime import datetime
from django.conf import settings
-from django.db.models import (
- DateField, DateTimeField, DurationField, Field, Func, IntegerField,
- TimeField, Transform, fields,
+from django.db.models.expressions import Func
+from django.db.models.fields import (
+ DateField, DateTimeField, DurationField, Field, IntegerField, TimeField,
)
from django.db.models.lookups import (
- YearExact, YearGt, YearGte, YearLt, YearLte,
+ Transform, YearExact, YearGt, YearGte, YearLt, YearLte,
)
from django.utils import timezone
@@ -157,7 +157,7 @@ ExtractIsoYear.register_lookup(YearLte)
class Now(Func):
template = 'CURRENT_TIMESTAMP'
- output_field = fields.DateTimeField()
+ output_field = DateTimeField()
def as_postgresql(self, compiler, connection, **extra_context):
# PostgreSQL's CURRENT_TIMESTAMP means "the time at the start of the
diff --git a/django/db/models/functions/math.py b/django/db/models/functions/math.py
index 2df7ecf456..c8760652b4 100644
--- a/django/db/models/functions/math.py
+++ b/django/db/models/functions/math.py
@@ -1,10 +1,10 @@
import math
import sys
-from django.db.models import (
- DecimalField, FloatField, Func, IntegerField, Transform,
-)
+from django.db.models.expressions import Func
+from django.db.models.fields import DecimalField, FloatField, IntegerField
from django.db.models.functions import Cast
+from django.db.models.lookups import Transform
class DecimalInputMixin:
diff --git a/django/db/models/functions/text.py b/django/db/models/functions/text.py
index 3c3eade646..db6d0c6c58 100644
--- a/django/db/models/functions/text.py
+++ b/django/db/models/functions/text.py
@@ -1,5 +1,7 @@
-from django.db.models import Func, IntegerField, Transform, Value, fields
+from django.db.models.expressions import Func, Value
+from django.db.models.fields import IntegerField
from django.db.models.functions import Coalesce
+from django.db.models.lookups import Transform
class BytesToCharFieldConversionMixin:
@@ -124,7 +126,7 @@ class Length(Transform):
"""Return the number of characters in the expression."""
function = 'LENGTH'
lookup_name = 'length'
- output_field = fields.IntegerField()
+ output_field = IntegerField()
def as_mysql(self, compiler, connection, **extra_context):
return super().as_sql(compiler, connection, function='CHAR_LENGTH', **extra_context)
@@ -207,7 +209,7 @@ class StrIndex(Func):
"""
function = 'INSTR'
arity = 2
- output_field = fields.IntegerField()
+ output_field = IntegerField()
def as_postgresql(self, compiler, connection, **extra_context):
return super().as_sql(compiler, connection, function='STRPOS', **extra_context)
diff --git a/django/db/models/functions/window.py b/django/db/models/functions/window.py
index 4ee01ec803..84b2b24ffa 100644
--- a/django/db/models/functions/window.py
+++ b/django/db/models/functions/window.py
@@ -1,4 +1,5 @@
-from django.db.models import FloatField, Func, IntegerField
+from django.db.models.expressions import Func
+from django.db.models.fields import FloatField, IntegerField
__all__ = [
'CumeDist', 'DenseRank', 'FirstValue', 'Lag', 'LastValue', 'Lead',