2
는 resources.py :피라미드 탐색 반환 데이터
: 루트 자원class Root(object):
__parent__ = __name__ = None
def __init__(self, request):
super(Root, self).__init__()
self.request = request
self.collection = request.db.post
def __getitem__(self, key):
if u'post' in key:
return Post()
, 나는 request.db.post를 사용하여 데이터베이스에 데이터를 반환 할 수 있습니다, 나는 다른 자원을 만든 __init__()
다음 나는
를 취합니다
class Post(dict):
def __init__(self, request):
super(Post, self).__init__()
self.__name__ = u'post'
self.__parent__ = Root
self.collection = request.db.post
나는 오류를 얻었다 0
self.collection = request.db.post
게시물에 오류가 반환되지 않지만 데이터베이스의 모든 데이터를 Post에서 반환 할 수 없으므로 루트가 아닌 다른 리소스에서 데이터베이스의 데이터를 어떻게 반환합니까?
시도했지만 여전히 작동하지 않습니다. 문제가 'request' 및'self.collection'을 오류 제거없이 'Post'에서 __init __ (self, request)로 보낸 것 같습니다.하지만 i 루트 –
이외의 다른 리소스를 사용하여 데이터베이스의 데이터를 반환 할 수 없습니다. @FarisNasution : 정확하고 분석이 잘못되었습니다. 당신의 생성자는 요청 객체를 기대하지만 그것을 결코 넘겨주지 않습니다. 사실,'super()'는 dict를 호출하는 것이 좋습니다. 답변을 수정했습니다. –