Django:如何允许空值

Django:如何允许空值,django,Django,我有以下Django型号: from django.db import models class AlertCalendar(models.Model): alert_calendar_id = models.UUIDField(primary_key=True, default=uuid.uuid4, blank=True, editable=False) start_time = models.TimeField(null=True, blank=True) end_

我有以下Django型号:

from django.db import models
class AlertCalendar(models.Model):
    alert_calendar_id = models.UUIDField(primary_key=True, default=uuid.uuid4, blank=True, editable=False)
    start_time = models.TimeField(null=True, blank=True)
    end_time = models.TimeField(null=True, blank=True)
    start_date = models.DateField(null=True, blank=True)
    end_date = models.DateField(null=True, blank=True)
我想创建此模型的一个实例,其中除id之外的所有字段都设置为null,但当我尝试这样做时,我会出现以下错误:

{
    "start_time": [
        "This field may not be null."
    ],
    "end_time": [
        "This field may not be null."
    ],
    "start_date": [
        "This field may not be null."
    ],
    "end_date": [
        "This field may not be null."
    ]
}
当这些值中只有一个设置为null时也是如此,但我使用null=True和blank=True定义了字段,因此为什么我不能创建此实例?

为每个字段分配一个值,以创建具有null值的实例

AlertCalendar.objects.createstart\u time=None、end\u time=None、start\u date=None、end\u date=None
这将创建一个实例,其中指定的字段为null,正如@Daniel Roseman假定的那样,错误响应来自序列化程序。序列化程序类应该类似于

class AlertCalendarSerializer(serializers.ModelSerializer):
    start_time = serializers.TimeField(required=False, allow_null=True)
    end_time = serializers.TimeField(required=False, allow_null=True)
    start_date = serializers.DateField(required=False, allow_null=True)
    end_date = serializers.DateField(required=False, allow_null=True)

这将解决问题。

这些错误到底是从哪里来的?@DanielRoseman我不确定,它们没有明确地出现在我的代码中,但你正在做一些事情来获取它们。到底是什么?是来自管理员,来自您发送的API请求,什么?@Jessicachambers您是如何尝试创建实例的?我发送了一个API请求如果您发现此答案有用,请也向上投票!: