Мой вопрос связан с созданием наборов запросов для моделей, которые связаны между собой по многим и многим полям.
context - приложение, в которое входит ученик и которое должно оценить своих учителей.Вопросы, которые приложение показывает ученику, имеют следующую логику: каждый ученик должен оценить некоторых учителей.У каждого учителя есть различные категории вопросов, связанных с ними («интеллект», «уважение», «сочувствие» и т. Д.), И у каждой из этих категорий есть несколько вопросов, связанных с ним.
Модели:
class Items(models.Model):
item = models.TextField()
def __str__(self):
return self.item
class Categories(models.Model):
category = models.CharField(max_length=50,null=True)
items_associated = models.ManyToManyField(Items)
def __str__(self):
return self.category
class Professors(models.Model):
professor = models.CharField(max_length=50,null=True)
categories_assigned = models.ManyToManyField(Categories)
def __str__(self):
return self.professor
class Students(models.Model):
student_logged = models.CharField(max_length=50,null=True)
professors_to_evaluate = models.ManyToManyField(Professors)
def __str__(self):
return self.student_logged
когда ученик входит в сеть, у него есть несколько ассоциированных учителей (модель учеников), которым в свою очередь назначаются некоторые категории учителей (профессора модели), а эти категории, в свою очередь, связаны с некоторыми вопросами (категории модели). Я хочу сохранить в словаре эти вопросы, которые есть в моделях Предметов. Как я могу это сделать?
Я пытался отфильтровать и __in, но не могу его получить.
Большое спасибо и спасибо за мудрость
Редактировать: Я попытаюсь привести вам пример, потому что я думаю, что это может быть немного трудно объяснить.
ученик должен квалифицировать своих учителей, которые являются профессором Рика и учителем барни .
Рик-профессор будет оцениваться по категориям вопросов: уважительное отношение и технические знания .
категорияиз уважительного обращения есть вопросы, связанные с ним:
- учитель относится ко всем одинаково
- учитель не говорит грубых вещей
- Учитель добрый
Технические знания Категория имеет вопросы, связанные с ней:
- He учит ясно
- Он демонстрирует передовые знания
Так что я хочу, чтобы, когда tom-student входит в сеть, чтобы оценить Rick-Professor, приложение покажет ему соответствующуювопросы, которые в данном случае:
- учитель относится ко всем одинаково
- учитель не говорит грубых вещей
- учитель добрый
- Он преподает ясно
- Демонстрирует передовые знания
Затем, когда он пойдет на оценку учителя барни, веб-сайт покажет ему несколько разных вопросов в соответствии с категориями, которые назначил учитель барни.,