набор запросов к списку () ошибок в функции просмотра - работает в оболочке - PullRequest
1 голос
/ 19 июля 2011

s У меня есть следующий код:

s = StoryCat.objects.filter(category=c)
ids=s.values_list('id',flat=True)
ids=list(ids)
str= json.dumps( ids )
return HttpResponse(str)

Это нормально работает при попытке использовать оболочку Python. при запуске его в функции просмотра я получаю следующую ошибку:

list () принимает ровно 2 аргумента (1 дано)

в чем может быть проблема?

1 Ответ

3 голосов
/ 19 июля 2011

Встроенный список был переопределен в локальной области.Вот пример обходного пути, если вы действительно хотите использовать list ():

def list(a, b): pass # somewhere list is redefined
try:
    c = list() # so this will fail
except TypeError as e:
    print "TypeError:", e # with this error
from __builtin__ import list as lst # but we can get back the list builtin
c = lst() # and use it without overriding the local version of list
print c

В вашем случае минимальным изменением будет замена ids=list(ids) на

ids = __import__('__builtin__').list(ids)

который вообще не меняет вашего пространства имен, но меня огорчает.

Редактировать: Смотрите комментарий @ Alex-Laskin для более простого одноразового способа сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...