簡體   English   中英

Python/Django 模型字典允許一種類型的更新,但不允許另一種類型的更新

[英]Python/Django model dictionary allows one type of update, but not another

我正在處理一些 Django/Python 代碼。

基本上,我的代碼的后端會發送一個名為“p”的參數字典。 這些值都來自 Django 模型。

當我試圖像這樣覆蓋它們時:

p['age']=25

我收到了“模型錯誤”。 然而,如果我寫:

p.age=25

它工作正常。

我的懷疑是,在內部,選擇 #1 試圖為由 Django 創建的類的實例設置一個新值,該類的對象是被覆蓋的,但在內部 Python3 只是用同名的“新”屬性替換了 Django 實例( 'age'),而不考慮 Django 創建的先前的起源、類型或類。

所有這些都在 RESTful 框架中,實際上在測試代碼中。 所以即使我是對的,我也不相信它在現實中對我有任何改變。

但是誰能解釋為什么對現有字典的一種賦值有效,而另一種失敗?

p 是一個類,而不是一個字典。 Django 就是這樣構建的。

但是,因此,一種方法 (p.age) 允許您更改類中對象的屬性。

暫無
暫無

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

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