我正在使用Django和mongoengine。我有一個模型類與一個題詞列表,我想獲得在該列表中有一個id的文檔。Django數組包含字段
classes = Classes.objects(inscriptions__contains=request.data['inscription']).all()
我正在使用Django和mongoengine。我有一個模型類與一個題詞列表,我想獲得在該列表中有一個id的文檔。Django數組包含字段
classes = Classes.objects(inscriptions__contains=request.data['inscription']).all()
也許我失去了一些東西......但似乎你應該使用.filter()
:
classes = Classes.objects.filter(inscriptions__contains=request.data['inscription'])
這個答案是在參考了rnevius回答您的評論
在使用ORM進行數據庫調用時,在Django ORM中,如果您使用的是,它通常會返回QuerySet或模型的對象(如果使用get()/number等,取決於您正在使用哪個返回的查詢集以外的函數。
Queryset函數的結果可以用來實現進一步的細化,就像你喜歡執行一個order()或只收集distinct()等一樣。Queryset是懶惰的,這意味着它只有在數據庫時纔會觸及數據庫實際上在分配時沒有使用。你可以找到更多關於他們的信息here。
因爲不返回queryset的函數不能實現這樣的事情。
花費時間並通過Queryset文檔深入解釋並提供了示例。理解使應用程序更高效的行爲是有用的。
事實上,它工作,沒有教它在陣列上工作。謝謝。 過濾器和我的方式有什麼區別? – elhoucine