【发布时间】:2016-03-24 20:21:32
【问题描述】:
Django highly suggests not 将 null=True 用于基于字符串的 CharField 和 TextField 字段,以便没有两个可能的“无数据”值(假设您允许使用空字符串blank=True)。这对我来说很有意义,我在所有项目中都这样做。
Django 1.9 引入了JSONField,它使用底层的 Postgres jsonb 数据类型。上述建议是否适用于 JSONField(即应使用 blank=True 而不是 null=True)?或者,应该改用null=True 吗?或者,应该改用default=dict 吗?或者, ..?为什么?
换句话说,当您只想允许一个“无数据”值时,新的原生 JSONField 的约定是什么?请支持您的回答,因为我做了很多研究,但找不到任何官方信息。提前致谢。
【问题讨论】:
-
在阅读完文档后,我敢打赌 null=True 是最好的,因为 JSONField 应该是一个有效的对象,并且通常“空”对象使用 null 分配来表明这一点。只是我的 2c。
标签: python json django postgresql jsonb