当我运行时(nohup python -u rerank.py&)
我有以下几点:
Traceback (most recent call last):
File "rerank.py", line 24, in <module>
rank_all()
File "rerank.py", line 11, in rank_all
Link.set_rank()
TypeError: unbound method set_rank() must be called with Link instance as first argument (got nothing instead)我的文件rerank.py看起来像这样,我找不到任何宝石
#!/usr/bin/env python
import os
import django
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "news_factory.settings")
django.setup()
from news.models import Link
def rank_all():
for link in Link.with_votes.all():
Link.set_rank()
import time
def show_all():
print "\n".join("%10s %0.2f" % (l.title, l.rank_score,) for l in
Link.with_votes.all())
print "----\n\n\n"
if __name__ == "__main__":
while 1:
print "---"
rank_all()
show_all()
time.sleep(5)我真的很感谢你的帮助
发布于 2017-03-26 02:02:05
将Link.set_rank()更改为link.set_rank()或Link.set_rank(link)
当前版本在类上查找set_rank,但不传入要操作的link实例。我们称之为“未绑定方法”。
建议的修订要么通过对链接实例进行查找来生成“绑定方法”,要么直接将链接传递到未绑定方法。这两种方法都是有效的,尽管第一种方法更短、更快,而且通常更可取。
https://stackoverflow.com/questions/43024123
复制相似问题