django中存在null条件的完整性错误



我是django的新手,正在尝试运行简单的应用程序,目前我正在从第三方api获取数据,并尝试将json保存到我的数据库中,因此下面是我的Model类。

class CollisionDetails(models.Model):
crossStreetName = models.CharField(max_length=30)
onStreetName = models.CharField(max_length=40, default='')
offStreetName = models.CharField(max_length=40, default='')
numberOfPersonsInjured = models.IntegerField(default=0)

def json_to_class(self, json_data, city):
collision_detail = json_data #json.loads(json_data)
self.crossStreetName = collision_detail.get('cross_street_name')
self.onStreetName = collision_detail.get('on_street_name', 'Unspecified')
self.offStreetName = collision_detail.get('off_street_name', 'Unspecified')

但当我试图保存我的对象时,它会给我完整性错误,说

django.db.utils.IntegrityError: (1048, "Column 'crossStreetName' cannot be null")

但我也检查了我的数据库——我没有保留非null条件,我不确定django为什么将其视为非null=True,这是默认行为吗?

是的,Django模型的默认行为是null=False

根据文件,

null:如果为True,Django将在数据库中以null形式存储空值。默认值为False。

您可以在此处阅读官方文档https://docs.djangoproject.com/en/3.1/ref/models/fields/

最新更新