![](/img/trans.png)
[英]Django: how can i get a model that store a list(like in python or anyway) of a sizes of a shoes
[英]how can I store and read a Python list of Django model objects from and to the session?
我正在尋找一種將Django模型對象放入列表中,然后將其存儲在會話中的方法。 我發現它需要序列化才能存儲在會話中。 因此,當從會話中讀取列表時,我首先將其序列化。
但是后來我希望能夠像以前一樣訪問我的初始對象,但事實證明這是一個DeserializedObject。
有誰知道我應該如何滿足我的要求? 簡而言之,這是我正在嘗試的代碼,但未成功
team1_list = generate_random_playerlist() #generates a list of Player() objects
request.session['proposed_team_1'] = serializers.serialize('json', team1_list)
#some code inbetween
des_list = serializers.deserialize('json', request.session['proposed_team_1'])
for player in des_list :
print("name of player:"+player.last_name) #fails
我不會序列化模型實例本身。 只需將其主鍵寫入會話即可,這很容易並且不需要序列化。 然后,您可以在單個查詢中從數據庫檢索查詢集,而不必擔心數據更改,實例丟失等問題。
request.session['player_ids'] = list(players.values_list('pk', flat=True))
players = Player.objects.filter(pk__in=request.session.get('player_ids', []))
如果您的Player
實例尚未保存到數據庫中,則可能必須按照自己的方式進行。 然后,通過.object
屬性從DeserializedObject
獲取實際的模型實例。
for player in des_list :
print("name of player:" + player.object.last_name)
請參閱反序列化文檔 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.