@NyxDeveloper

Django annotate Concat() полей связанных объектов?

Нужно вывести в отдельное поле новую переменную, которая является строкой из соединенных текстовых полей объектов из связанной по M2M таблицы.
Грубо говоря, есть модели:
class Post(models.Model):
    name = models.CharField(max_lenght=100)

class Tag(models.Model):
    name = models.CharField(max_lenght=100)

и в списке моделей Post нужно аннотировать поле tags, в виде одной строки, состоящей из названий всех тэгов.
Можно ли это сделать средствами джанги? В доках только подобный пример:
# https://docs.djangoproject.com/en/1.8/ref/models/database-functions/#concat
# 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)
  • Вопрос задан
  • 190 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы