Jua*_*oto 17 python django reference django-models
设置JSONField为具有新列表的默认值的最佳方法是什么django?
有一个模型,其中一个字段是项目列表.在没有设置项目的情况下,模型应该有一个空列表.
from django.models import Model
class MyModel(Model):
the_list_field = JSONField(default=[])
Run Code Online (Sandbox Code Playgroud)
这是最好的方法吗?它应该转换为使用list吗?
谢谢!
Nit*_*ain 24
list并且dict是可调用的,而[]并{}没有(你不能这样做[]())。所以:
JSONField(default=list)过JSONField(default=[])JSONField(default=dict)过JSONField(default={})如果要使用某些数据实例化,可以执行以下操作:
def jsonfield_default_value(): # This is a callable
return [0, 0] # Any serializable Python obj, e.g. `["A", "B"]` or `{"price": 0}`
class MyModel(Model):
the_list_field = JSONField(default=jsonfield_default_value)
Run Code Online (Sandbox Code Playgroud)