0

Я пытаюсь искать через отношения ManyToMany, но я делаю что-то неправильно, и я не уверен, что этоДжанго ManyToMany отношение содержит значение

t = Teacher.objects.get(username=u.username) 
var = list(Allowed.objects.filter(allowed=t)) 

Это класс я используя:

class Allowed(models.Model): 
    owner = models.ForeignKey(Teacher, related_name='allowed_teacher') 
    reason = models.CharField(max_length=200, blank=True, null=True) 
    allowed = models.ManyToManyField(Teacher, related_name='who_is_allowed', blank=True, null=True) 

Как это сделать?

EDIT: Teacher не имеет каких-либо ссылок на разрешённые

+0

К сожалению, я не знаю, о чем я думал с этим ответом :) в чем именно проблема?: Вы получаете ошибку, не получая ожидаемых результатов? Кроме того, вы проверяли, есть ли значения в вашем поле 'allowed'? – Ngenator

+0

Возможно, это проблема, но когда я изменил код, добавив «if Allowed.objects.filter (allowed = t) .exists():« У меня есть такая ошибка: «Нет такого столбца: quizzer_allowed_allowed.teacher_id» – Sascuash

+0

Затем похоже, что вам, возможно, понадобится запустить 'syncdb' – Ngenator

ответ

1

Вы можете попробовать сделать:

t = Teacher.objects.get(username=u.username) 
var = t.allowed_set.all() 
+0

' t.who_is_allowed.all() ' – Ngenator

Смежные вопросы