From 8b10357854f6e21ffcfea6761d2375338088720e Mon Sep 17 00:00:00 2001
From: Simon Charette <charettes@users.noreply.github.com>
Date: Wed, 9 Oct 2019 04:47:49 -0400
Subject: [PATCH] Fixed #30860 -- Disabled unneeded NULLS FIRST/LAST workaround
 on SQLite 3.30+.

---
 django/db/models/expressions.py | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/django/db/models/expressions.py b/django/db/models/expressions.py
index 5df765b626..2eae16541e 100644
--- a/django/db/models/expressions.py
+++ b/django/db/models/expressions.py
@@ -1146,10 +1146,11 @@ class OrderBy(BaseExpression):
 
     def as_sqlite(self, compiler, connection):
         template = None
-        if self.nulls_last:
-            template = '%(expression)s IS NULL, %(expression)s %(ordering)s'
-        elif self.nulls_first:
-            template = '%(expression)s IS NOT NULL, %(expression)s %(ordering)s'
+        if connection.Database.sqlite_version_info < (3, 30, 0):
+            if self.nulls_last:
+                template = '%(expression)s IS NULL, %(expression)s %(ordering)s'
+            elif self.nulls_first:
+                template = '%(expression)s IS NOT NULL, %(expression)s %(ordering)s'
         return self.as_sql(compiler, connection, template=template)
 
     def as_mysql(self, compiler, connection):