gpt4 book ai didi

python - Django JSONField 不保存 0 值

转载 作者:太空狗 更新时间:2023-10-30 01:30:54 26 4
gpt4 key购买 nike

我的模型中有一个 JSONField,当我尝试在 Django 管理页面的 json 中将 0 保存为值时,它会将值保存为 null。如何将零保存为值?Django 版本:2.1.7

Django 管理页面:

enter image description here

我的 JSONField:

lecturer_scores = JSONField(
verbose_name=_("Lecturer Score"),
validators=[validate_lecturer_score],
default=dict,
blank=True
)

我的输入:

{
"score 1": 0,
"score 2": 5
}

保存方式如下:

{
"score 1": null,
"score 2": 5
}

验证器:

from django.core.validators import validate_integer
from django.core.exceptions import ValidationError

def validate_lecturer_score(value):
for k, v in value.items():
if v:
validate_integer(v)
for value in value.values():
if value:
if value < 0 or value > 100:
raise ValidationError(_("Lecturer score for user's participance rate calculation should be between 0 and 100."))

最佳答案

问题出在我的信号中,我调用了一个属性方法并设置了值。我检查值是否为空,将其设置为 null。像这样 lecturer_scores[key] = self.lecturer_scores.get(key) or None

关于python - Django JSONField 不保存 0 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55606334/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com