Как выполнить конкатенацию в Django annotate()
Я хочу конкатенировать строковую переменную с одним из моих полей, но не могу понять, что я делаю не так
Я попробовал это, где prefix
- строка, а filename_mask
- поле в таблице
plots = (
PlotDefinitions.objects.filter(is_active=True)
.annotate(
filename=Concat(Value(prefix), 'filename_mask')
)
.values('name', 'description', 'filename')
)
Я получаю ошибку Expression contains mixed types: CharField, TextField. You must set output_field.
, даже если я конкатенирую 2 типа String.
Поэтому я добавил output_field
plots = (
PlotDefinitions.objects.filter(is_active=True)
.annotate(
filename=Concat(Value(prefix), 'filename_mask', output_field=CharField())
)
.values('name', 'description', 'filename')
)
но это дает ошибку "'CharField' object has no attribute 'get_internal_type'"