Djangoで「TypeError: Cannot reverse a query once a slice has been taken」

今回はDjangoで「TypeError: Cannot reverse a query once a slice has been taken」が起きる原因とその対策についてご紹介いたします。



Djangoで「TypeError: Cannot reverse a query once a slice has been taken」

原因としては、エラーメッセージまんまとなります。

Djangoのmodelを取得したときにsliceの機能がありますが、そのsliceをしたあとだと、reverse()ができないようです。

例として、testModelというDjangoのmodelがあるとします

などをしたときに、testDataをreverse()できないようですね。

回避策としては、reverse()を使わずにslice(DBにおけるlimit)ではなくOffsetを使用することを検討しましょう。

終わりに

今回はDjangoで「TypeError: Cannot reverse a query once a slice has been taken」が起きる原因とその対策についてご紹介いたしました。

最後までお読みいただきありがとうございます。
よろしければブログやTwitterでのシェアをお願いしております。
コメントもお待ちしております。
誤植や勘違いなどございましたらコメント欄にて教えていただけると幸いです。

直接契約ができるフリーランスエージェント「エンハンス」を立ち上げました。
詳しくは下記LPをご参照ください。
https://enhance.decryption.co.jp/

Youtubeチャンネル開設いたしました。
チャンネル登録者10,000人を目指しているので、良いと思った方はチャンネル登録をお願いしたいです。
https://www.youtube.com/channel/UC219XhmSRxmXltTy6COxSMw






Django

Posted by ちこ