【发布时间】:2013-08-23 12:24:34
【问题描述】:
我有一个使用 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地址保存在数据库中的。
有谁知道为什么第一种方法不起作用?我应该怎么做才能解决它?
谢谢!
【问题讨论】:
-
将我的模型添加到问题中
-
显示你的想法是捕获 ip_address 并保存它?
-
是的..然后在另一个动作中,当没有IP地址时,我想去那个字典并提取最后一个已知的IP
-
我可以使用那个ip地址字段...但是将来我想添加另一个属性,问题会一样...
标签: python database django json