2013-09-19 5 views
-1

Я получаю эту ошибку при попытке преобразовать возможные целочисленные переменные:питон: TypeError: «длинный» объект не вызываемая

for page in domain.page_set.all(): 
    filename = str(domain.url) + '_page_' +str(page.id())+ '.html' 

Ошибка:

File "/Applications/djangostack-1.4.7-0/apps/django/django_projects/controls/polls/models.py", line 40, in make_config_file 
    filename = str(domain.url)+"_page_"+str(page.id())+".html" 
TypeError: 'long' object is not callable 

Что здесь не так? что означает «долго не подлежит вызову»?

ответ

3

page.id является long, которая не является функция, и, следовательно, не вызываемый:

In [1]: id = 5586L 
In [2]: type(id) 
Out[2]: long 
In [3]: id() 
TypeError: 'long' object is not callable 

Постарайтесь просто делает str(page.id).

В качестве альтернативы, вы можете использовать строку Питона форматирования следующим образом:

for page in domain.page_set.all(): 
    filename = "{}_page_{}.html".format(domain.url, page.id) 
Смежные вопросы