diff options
| author | Nick Pope <nick.pope@flightdataservices.com> | 2019-03-20 08:27:34 +0000 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2019-03-22 12:52:39 +0100 |
| commit | d26b2424437dabeeca94d7900b37d2df4410da0c (patch) | |
| tree | cb08383bf787f14b91e82664ebedf84c92748e51 /docs/ref | |
| parent | 5935a9aeade517aebdceea989467d2b46c44d96f (diff) | |
Fixed #30271 -- Added the Sign database function.
Diffstat (limited to 'docs/ref')
| -rw-r--r-- | docs/ref/models/database-functions.txt | 25 |
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`` ------- |
