Django modeltranslation не работает с таким набором запросов
Я новичок в программировании.
В моем блоге я хочу показать список категорий. Если я создам набор запросов следующим образом:
Category.objects.all()
мой django-modeltranslation работает отлично.
Но я хочу получить категории только опубликованных постов. Тогда мой набор запросов будет таким:
Post.objects.values('category__name').filter(is_published=True)
Однако django-modeltranslation не работает. Я получаю значения из поля 'name' вместо полей 'name_en' или 'name_ru'.
Что случилось?
Вот мой models.py :
class Category(models.Model):
name = models.TextField(max_length=100)
url = models.SlugField(max_length=160, unique=True)
class Post(models.Model):
title = models.TextField('title', max_length=150)
category = models.ManyToManyField(Category, related_name='posts', blank=True)
Я думаю, что лучше делать запрос в обратном порядке: с помощью .values(…) вы выбираете конкретный столбец базы данных, поэтому здесь будет опущена логика модели.
Вы можете получить категории с помощью:
Category.objects.filter(posts__is_published=True).distinct()