2011-02-23 22 views
0

我有以下幾點:InterfaceError:錯誤綁定參數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) 

(加上一些其他的東西)

基本上,我不能做一個ForeignKey上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. 

什麼想法?歡呼聲,

+0

是什麼的價值變量「包含」? – 2011-02-23 03:40:50

回答

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) 
+0

太棒了!那工作了一個治療:) – yee379 2011-02-23 17:17:08

+2

祝賀:)(15字符minimium) – 2011-02-23 17:20:43

相關問題