У меня есть модели:Фильтра QuerySet по реверсу существует проверку в Django
class Post(models.Model):
content = models.CharField()
user = models.ForeignKey('users.User')
active = models.BooleanField(default=True)
class Comment(models.Model):
post = models.ForeignKey(Post, related_name='post_comments')
И в QuerySet, который фильтруется параметры запроса:
user = request.QUERY_PARAMS.get('user_id', None)
active = request.QUERY_PARAMS.get('active', None)
has_comments = request.QUERY_PARAMS.get('has_comments', None)
qs = Post.objects.all()
if user:
qs = qs.filter(user=user)
if active:
qs = qs.filter(active=active)
if has_comments:
???
Я не понимаю, как я могу отфильтровать этот запрос сохраняя все предыдущие фильтры. Является ли это возможным?
Спасибо! '' 'qs.filter (post_comments__isnull = False)' '' работал. Немного больше объяснений об этом в документации было бы неплохо. – Mark
Обратите внимание, что моя запись в блоге довольно устарела, prefetch_related не была добавлена, когда я написал это, и она делает в значительной степени то, что я там говорю. –