接口错误:绑定参数0时出错 - 可能不支持的类型
我有以下内容:
class Tag( models.Model ):
name = models.CharField( max_length=64 )
class Tag2Node( models.Model ):
ip = models.IPAddressField( db_index=True )
tag = models.ForeignKey( Tag )
last_update = models.DateTimeField( auto_now=True )
class Node( models.Model ):
id = models.CharField( primary_key=True, max_length=64 )
ip = models.IPAddressField( db_index=True )
method = models.CharField( max_length=64 )
(还有一些其他的东西)
基本上,我不能在 Node.ip 上使用外键,因为它的行不是唯一的(我可能会有多个方法对应同一个 IP)。
所以为了查询,我这样做:
found_ips = Tag2Node.objects.filter( tag__name=include ).values('ip').distinct()
q = Q( ip__exact=found_ips[0] )
nodes = Node.objects.get( q )
但是我遇到了这个错误:
InterfaceError: Error binding parameter 0 - probably unsupported type.
有什么想法吗?谢谢!
1 个回答
3
这个错误是因为你把一个字典传给了 get
函数。
我不太明白为什么这个错误没有显示其他的提示信息……
found_ips = Tag2Node.objects.filter( tag__name=include ).values('ip').distinct()
# values returns a dictionary
q = Q( ip__exact=found_ips[0]['ip'] )
nodes = Node.objects.get( q )