class Concat(*expressions, **extra)
[source]
Accepts a list of at least two text fields or expressions and returns the concatenated text. Each argument must be of a text or char type. If you want to concatenate a TextField()
with a CharField()
, then be sure to tell Django that the output_field
should be a TextField()
. This is also required when concatenating a Value
as in the example below.
This function will never have a null result. On backends where a null argument results in the entire expression being null, Django will ensure that each null part is converted to an empty string first.
Usage example:
1 2 3 4 5 6 7 8 9 | >>> # Get the display name as "name (goes_by)" >>> from django.db.models import CharField, Value as V >>> from django.db.models.functions import Concat >>> Author.objects.create(name = 'Margaret Smith' , goes_by = 'Maggie' ) >>> author = Author.objects.annotate( ... screen_name = Concat( 'name' , V( ' (' ), 'goes_by' , V( ')' ), ... output_field = CharField())).get() >>> print (author.screen_name) Margaret Smith (Maggie) |
Please login to continue.