【问题标题】:Django ManyToMany relation contains valueDjango ManyToMany 关系包含值
【发布时间】:2013-04-08 23:52:19
【问题描述】:

我正在尝试搜索多对多关系,但我做错了,我不确定它是什么

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)

我该怎么做?

编辑: Teacher 没有对 Allowed 的任何引用

【问题讨论】:

  • 对不起,我不知道我在想什么 :) 到底是什么问题?您是否遇到错误,没有得到您期望的结果?另外,您是否检查了 allowed 字段中的值?
  • 这可能是问题所在,但是当我更改代码时,添加 'if Allowed.objects.filter(allowed=t).exists():' 我收到如下错误:'no such column : quizzer_allowed_allowed.teacher_id'
  • 那么听起来你可能需要运行syncdb
  • 已解决,南忘记在架构迁移中创建一个字段

标签: django django-models many-to-many relationship django-orm


【解决方案1】:

你可以尝试这样做:

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

【讨论】:

    猜你喜欢
    • 2010-11-16
    • 2021-12-31
    • 2019-03-27
    • 2012-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-27
    相关资源
    最近更新 更多