summaryrefslogtreecommitdiff
path: root/docs/ref
diff options
context:
space:
mode:
authorNick Pope <nick.pope@flightdataservices.com>2019-03-20 08:27:34 +0000
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2019-03-22 12:52:39 +0100
commitd26b2424437dabeeca94d7900b37d2df4410da0c (patch)
treecb08383bf787f14b91e82664ebedf84c92748e51 /docs/ref
parent5935a9aeade517aebdceea989467d2b46c44d96f (diff)
Fixed #30271 -- Added the Sign database function.
Diffstat (limited to 'docs/ref')
-rw-r--r--docs/ref/models/database-functions.txt25
1 files changed, 25 insertions, 0 deletions
diff --git a/docs/ref/models/database-functions.txt b/docs/ref/models/database-functions.txt
index b79f7972cf..9c6121097b 100644
--- a/docs/ref/models/database-functions.txt
+++ b/docs/ref/models/database-functions.txt
@@ -1099,6 +1099,31 @@ It can also be registered as a transform. For example::
>>> # Get vectors whose round() is less than 20
>>> vectors = Vector.objects.filter(x__round__lt=20, y__round__lt=20)
+``Sign``
+--------
+
+.. class:: Sign(expression, **extra)
+
+.. versionadded:: 3.0
+
+Returns the sign (-1, 0, 1) of a numeric field or expression.
+
+Usage example::
+
+ >>> from django.db.models.functions import Sign
+ >>> Vector.objects.create(x=5.4, y=-2.3)
+ >>> vector = Vector.objects.annotate(x_sign=Sign('x'), y_sign=Sign('y')).get()
+ >>> vector.x_sign, vector.y_sign
+ (1, -1)
+
+It can also be registered as a transform. For example::
+
+ >>> from django.db.models import FloatField
+ >>> from django.db.models.functions import Sign
+ >>> FloatField.register_lookup(Sign)
+ >>> # Get vectors whose signs of components are less than 0.
+ >>> vectors = Vector.objects.filter(x__sign__lt=0, y__sign__lt=0)
+
``Sin``
-------