편의 API를 제거했을 때 발생하는 문제는 TypeError: 'int' object is not iterable
이 줄을 가리키며 id, = args[0]
... 이 문제를 어떻게 해결해야합니까? args [0]을 할당하는 문제가이 스택 질문 과 비슷 합니까?
코드 :
object.py (상위 클래스)
def retrieve_assessment_result(self, *args):
id, owner, assessment = None, None, None
if len(args) == 1:
id, = args[0]
elif len(args) == 2:
owner, assessment = args
print 'testa', owner, assessment, id
else:
raise ValueError('Value being passed is an object')
if id is not None:
print 'testi', id
return self.session.query(Assessment_Result).\
filter(Assessment_Result.id == id).one()
elif owner is not None:
print 'testo', owner
return self.session.query(Assessment_Result).\
filter(Assessment_Result.owner == owner).one()
elif assessment is not None:
print 'testa', assessment
return self.session.query(Assessment_Result).\
filter(Assessment_Result.assessment == assessment).one()
comfort.py (하위 클래스)
def retrieve_assessment_result(self, username, name):
owner = self.retrieve_user(username)
assessment = self.retrieve_assessment(name)
return super(ConvenienceAPI, self).retrieve_assessment_result(owner, assessment)
질문 2에 대한 역 추적 (내가 ID
혼자 확인하기 위해 자식 클래스를 제거했을 때 )
...
File "/usr/local/lib/python2.7/site-packages/pyramid-1.5.7-py2.7.egg/pyramid/config/views.py", line 501, in _requestonly_view
response = view(request)
File "/Users/ack/code/venv/NotssWEB/notssweb/views/views.py", line 368, in get_assessment_result
assessment_result = api.retrieve_assessment_result(assessment_result_id)
File "/usr/local/lib/python2.7/site-packages/notssdb/api/object.py", line 313, in retrieve_assessment_result
id, = args[0] # <-- this the issue? see object.py above
TypeError: 'int' object is not iterable
당신이 사용하는 튜플 할당 ; 대상 튜플 에 하나의 정수를 할당하려고합니다 . 대상이 하나만 있어도 동일한 양의 요소가있는 시퀀스를 생성하려면 오른손 표현이 필요합니다.
쉼표를 제거하거나 [0]
슬라이싱을 제거 하거나 오른쪽에 쉼표를 추가하여 튜플도 만들 수 있습니다.
id = args[0]
또는
id, = args
또는
id, = args[0],
그러나 후자의 옵션은 첫 번째 옵션보다 다소 비효율적입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다