擅长:python、mysql、java
<p>因此,不必在每次更改栏时更新栏,而是只在保存前更改栏。
我的解决办法是:</p>
<pre><code>class foo(models.Model)
_bar = models.TextField()
def __getattr__(self, attr):
if attr == 'bar':
import json
try:
self.bar = json.loads(self._bar)
except ValueError:
return {}
return self.bar
else:
return super(foo, self).__getattr__(self, attr)
def save(self):
import json
if hasattr(self, bar):
self._bar = json.dumps(self.bar)
super(foo, self).save()
</code></pre>
<p>这很管用。我可以和他们一起工作实例.foobar作为常规的dict,并保存到数据库。在</p>