Я пытаюсь отфильтровать объект по свойству order объекта ManyToMany. хитрая часть в том, что я пытаюсь исключить указанную c единицу из запроса, но, похоже, не могу найти, как это сделать.
Итак, что в основном должен делать запрос:
- получить все объекты Вопроса, назначенные определенному c блоку (одному из блоков в поле M2M)
- отсортировать их по свойству "order" всех других блоков, назначенных для Вопрос
Пример
ID Question Question.unit
1 question1 unit1, unit2
2 question2 unit1, unit3
3 question3 unit1, unit4
ID Unit Unit.order
1 unit1 1
2 unit2 2
3 unit3 3
4 unit4 4
Код:
#views - my code so far, seems to filter by all units
def get_questions_beside_unit():
questions = Question.objects.filter(unit=quiz.unit).order_by('unit__order')
#models
class Question(models.Model):
...
unit = models.ManyToManyField(Unit)
class Unit(models.Model):
order = models.IntegerField()