InterfaceError: Ошибка привязки параметра 0 - возможно, неподдерживаемый тип - PullRequest
1 голос
/ 23 февраля 2011

У меня есть следующее:

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.

есть идеи?веселит,

1 Ответ

3 голосов
/ 23 февраля 2011

Ошибка возникает из-за того, что вы передаете словарь в 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 )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...