Как получить определенное количество связных объектов из бд?

models.py:
class Section(MPTTModel):
    class Meta:
        db_table='Section'
    section_text = models.CharField(verbose_name='Название раздела', max_length=100)
    parent = TreeForeignKey(verbose_name='Родительский Раздел',to='self', null=True, blank=True, related_name='children')

class Question(models.Model):
    class Meta:
        db_table = 'Question' 
    section = models.ForeignKey(Section)
    question_text = models.CharField(verbose_name='Описание вопроса', max_length=250)

views.py:
sections = Section.objects.filter(pk__in=[1,2,3])
questions = Question.objects.filter(section__in=sections)

в questions получаю все вопросы связанные с разделами.
Как получить не все вопросы, а определенное количество вопросов из каждого раздела?
Например из раздела c id=1, получить 5 вопросов ,из раздела c id=2, получить 6 вопросов, из раздела c id=3, получить 7 вопросов.
  • Вопрос задан
  • 230 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Django
Седой и строгий
Делать выборку с лимитом для каждого id отдельно:
Question.objects.filter(section__id=1)[:5]
Иначе никак.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы