Django ManyToMany, имеющий через параметр [duplicate]

Вот еще одно решение для получения записей только с полем, которое имеет максимальное значение для этого поля. Это работает для SQL400, на котором я работаю. В этом примере записи с максимальным значением в поле FIELD5 будут получены следующим оператором SQL.

SELECT A.KEYFIELD1, A.KEYFIELD2, A.FIELD3, A.FIELD4, A.FIELD5
  FROM MYFILE A
 WHERE RRN(A) IN
   (SELECT RRN(B) 
      FROM MYFILE B
     WHERE B.KEYFIELD1 = A.KEYFIELD1 AND B.KEYFIELD2 = A.KEYFIELD2
     ORDER BY B.FIELD5 DESC
     FETCH FIRST ROW ONLY)
2
задан tsantor 7 July 2015 в 15:14
поделиться

2 ответа

Вы можете либо фильтровать по SlideOrder модели напрямую

slide = Slide.objects.get(pk=1)
slide_orders = SlideOrder.objects.filter(slide=slide)
for slide_order in slide_orders:
    print slide_order.number

, либо следовать за внешним ключом назад:

slide = Slide.objects.get(pk=1)
slide_orders = slide.slideorder_set.all()
for slide_order in slide_orders:
    print slide_order.number

См. документы в дополнительных полях по отношениям «многие ко многим» для получения дополнительной информации.

2
ответ дан Alasdair 5 September 2018 в 10:30
поделиться

Вы можете использовать slide.slideorder_set, как описано в документе django docs

1
ответ дан Ward 5 September 2018 в 10:30
поделиться
Другие вопросы по тегам:

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