我正在研究Django项目,因为我需要一个模型来保持用户的个性化信息。该字段是独立的,因此我将其保留为JSON字段。现在我想知道限制该字段的键值的最佳方法是什么。
假设某些用户想要分享姓名,地址,发送电子邮件给我们,有些人只想分享姓名。此列表可能会不时增加。所以很难预测将来需要什么。为简单起见,我喜欢将此信息作为JSON响应保存在我的数据库中。这个问题的最佳设计是什么?
答案 0 :(得分:1)
我会这样用 -
def validate_json(value):
try:
json.loads(value)
except Exception:
raise ValidationError(
_('%(value)s is not an valid Json string'),
params={'value': value},
)
class Track(models.Model):
personalized_information = models.TextField(null=True, blank=True, validators=[validate_json])