Django:Applying filter() 函数给出 NameError
Django:Applying filter() function is giving NameError
Class Connect(models.Model):
connection = models.Charfield(max_length=120)
'Connect' 模型对象的 'connection' 字段的值可以是 Chat
、Video
或 Call
.
以下是我的 Visitor
模型,其中 connecting_medium
作为 多对多 字段。
Class Visitor(models.Model):
name = models.CharField(max_length=120)
connecting_medium = models.ManyToManyField('Connect')
据我所知,如果 v
是 Visitor
模型的一个对象,那么下面的代码行将给出这个特定访问者的连接列表 v
.
connection_list=list(v.connecting_medium.values_list('connection',flat=True))
现在我的动机是获取所有 Visitor
个在 connection_list
中有 Chat
的对象。我已经编写了以下代码,但似乎 work.It 没有引发错误:
name 'connecting_medium' is not defined.
def my_view(request):
context['list_no'] = Visitor.objects.filter('Chat' in list(connecting_medium.values_list('connection',flat=True)))
#--------------------rest-of-the-code----------------------------#
P.S:以上代码只是sample.I不允许post公司project.But源代码的情况正是这样。
这不是您在 Django 中编写查询的方式。您需要使用关键字参数。
本例使用双下划线语法遍历关系:
Visitor.objects.filter(connecting_medium__connection='Chat')
以下检索具有 Connect 的所有 Visitors 对象,其连接是 Chat:
Visitor.objects.filter(connecting_medium____connection='Chat')
Django offers a powerful and intuitive way to “follow” relationships in lookups... source.
Class Connect(models.Model):
connection = models.Charfield(max_length=120)
'Connect' 模型对象的 'connection' 字段的值可以是 Chat
、Video
或 Call
.
以下是我的 Visitor
模型,其中 connecting_medium
作为 多对多 字段。
Class Visitor(models.Model):
name = models.CharField(max_length=120)
connecting_medium = models.ManyToManyField('Connect')
据我所知,如果 v
是 Visitor
模型的一个对象,那么下面的代码行将给出这个特定访问者的连接列表 v
.
connection_list=list(v.connecting_medium.values_list('connection',flat=True))
现在我的动机是获取所有 Visitor
个在 connection_list
中有 Chat
的对象。我已经编写了以下代码,但似乎 work.It 没有引发错误:
name 'connecting_medium' is not defined.
def my_view(request):
context['list_no'] = Visitor.objects.filter('Chat' in list(connecting_medium.values_list('connection',flat=True)))
#--------------------rest-of-the-code----------------------------#
P.S:以上代码只是sample.I不允许post公司project.But源代码的情况正是这样。
这不是您在 Django 中编写查询的方式。您需要使用关键字参数。
本例使用双下划线语法遍历关系:
Visitor.objects.filter(connecting_medium__connection='Chat')
以下检索具有 Connect 的所有 Visitors 对象,其连接是 Chat:
Visitor.objects.filter(connecting_medium____connection='Chat')
Django offers a powerful and intuitive way to “follow” relationships in lookups... source.