= models.CharField(max_length=255)
class Article(models.Model):
date = models.DateField()
class ArticleTranslate(models.Model):
language = models.ForeignKey(Language, on_delete=models.CASCADE)
article = models.ForeignKey(Article, on_delete=models.CASCADE)
name = models.CharField(max_length=255)
body = models.TextField()```Как мне изменить запрос в бд Article.objects.select_related('article_translate_set') что бы достать набор articles только с одним указанным языком языком?
select_related на backwards relationship не работает, надо prefetch_related использовать qs = Article.objects.prefetch_related(Prefetch('articletranslate_set', queryset=ArticleTranslate.objects.select_related('language'))) qs = qs.filter(articletranslate__language__name='English') Да и вообще, в зависимости от целей, можно просто: Article.objects.filter(articletranslate__language__name='English')
Обсуждают сегодня