2017-05-05 4 views
1

나는 장고 CRUD 앱을 위해 MongoDB의 ORM 레이어로 PyModm을 사용하고 있습니다. PyMODM - 문서 찾기

나는 그렇게에서와 같이 MongoModel을 만들어 :

class Book(MongoModel): 
    title = fields.CharField(primary_key=True) 
    author = fields.CharField() 

을 만들려면 및 업데이트는 pymodm API는 정말 좋은 문서화,하지만 난 책으로, 하나 이상의 문서를 검색하는 쉬운 방법을 찾을 수 없습니다. object.all()은 반복 할 때 Json-serializable 인 QuerySet을 반환합니다.

그래서 내가 찾은 해결 방법은
books = [] 
for book in Book.objects.all(): 
    books.append({ 
     'title': book.title, 
     'author': contact.author 
    }) 
return JsonResponse(books) 

그리고 그것에 의해 한 권의 책을 검색하기위한

가 차 열쇠입니다 :

for book in Book.objects.raw({'_id': title}): 
    book = { 
     'author': book.author, 
     'title': book.title 
    } 
return JsonResponse(book) 

그러나, 이것은 매우 충분한도 꽤 방법이 아니다 보인다. 더 좋은 방법이 있습니까?

답변

0

어쩌면 values() 도움이 될 것입니다 :

books = list(Book.objects.values().all()) 
book = Book.objects.values().get({'_id': user_id}) 
+0

그래 확인이 작동 굉장합니다. _cls 속성 (project.mongoModels.Book)을 사용하여 dict을 반환하지만 다음과 같이 필터링 할 수 있습니다. Book.objects.only ('title', 'author'). values ​​(). get ({ '_id': 'asd'}) – Kemeia