0
- 的PostgreSQL 9.4.12
- 的Django 1.10.7
有了這個最小的類:Django的+ PostgreSQL的:JSONField的數據庫表示正在改變
from django.contrib.postgres.fields import JSONField
class Foobar(models.Model):
extra_data = JSONField(blank=True, default="")
我跑manage.py shell_plus
:
In [2]: a=Foobar.objects.create()
In [3]: a.extra_data={}
In [4]: a.save()
In [6]: a.extra_data
Out[6]: {}
In [7]: a.refresh_from_db()
In [8]: a.extra_data
Out[8]: '{}'
In [9]: a.save()
In [10]: a.refresh_from_db()
In [11]: a.extra_data
Out[11]: '"{}"'
什麼可能是JSONField值在每個數據庫保存時引用的原因?
不知道,但你是一個python對象分配給JSONField,我想這被認爲是一個字符串。嘗試先將python對象轉換爲json對象。 – dentemm