JsonField フィールドを使用する Django モデルがあります。
ある時点で、フィールドを IP アドレスで更新し、そのフィールドを保存します。
class Agent(models.Model):
properties = jsonfield.JSONField(default = {})
def save_ip_address(self, ip_address):
self.properties['ip'] = ip_address
self.save()
かなりまっすぐに見えます..そうではありませんか?
しかし、フィールドは ip ディクショナリ項目で保存されませんでした...そして私には理由がわかりません!
機能するが、コードで見栄えがよくない回避策を実行しました。
d = self.properties
d['ip'] = ip_address
self.properties = d
self.save()
このようにして、JsonField は実際に IP アドレスとともにデータベースに保存されます。
最初のアプローチがうまくいかなかった理由を知っている人はいますか? それを修正するにはどうすればよいですか?
ありがとう!