簡體   English   中英

會話作為Django REST中的持久存儲?

[英]Session as persistent storage in Django REST?

我想在Django中使用Django-RESTful API作為模型。 但是我不想將數據存儲在數據庫中,而是想使用當前的會話。

我想過制作一個自定義的ModelSerializer來覆蓋create()和update()。 我還想過制作一個自定義對象管理器,例如:

MyModel.objects = SomeManager()

問題是我必須將視圖中的request.session實例插入到SomeManager()中,但我不確定在哪里或如何以最佳方式執行它。

有小費嗎?

您應該查看覆蓋視圖的create()和update(),而不是覆蓋序列化程序中的create()和update()。 這是處理會話變量的更好的地方。

您甚至可以創建自己的類,擴展APIView,CreateModelMixin和UpdateModelMixin。 這兩個mixin將提供.update(request,* args,** kwargs)和.create(request,* args,** kwargs)方法,用於實現更新和保存現有模型實例。

DRF通用視圖的這個文檔給出了很好的想法: http//www.django-rest-framework.org/api-guide/generic-views/ 此外,您還可以瀏覽www.cdrf.co,其中包含Django REST Framework基於類的視圖和序列化程序的詳細描述,以及完整的方法和屬性。

在您希望將此數據保存到持久存儲中之前,這是處理臨時會話變量的更好位置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM