我的模型定义如下:
class Activity(models.Model):
country = models.CharField(max_length=100, default="Unknown")
country
字段是通过JSON响应填充的,但有时不可用。
我目前正在
django.db.utils.IntegrityError:NOT NULL约束失败: explorer_api_activity.country
我尝试了null=True
,blank=True
的不同组合,并取消了默认设置,并且删除了迁移和数据库,但无济于事。
我想在遇到null时用“未知”填充该字段。我该怎么做?
答案 0 :(得分:1)
怎么样:
var list = input => {
let array = input.split('').map(ch => ch.toLowerCase().charCodeAt(0) - 96);
for(let el in array) {
if(array[el] < 1 || array[el] > 26)
array.splice(el,1);
}
return array.toString().replace(/,/g, ' ');
}
console.log(list("The sun!!!set sets at twelve o' clock."));
// output
//20 8 5 19 21 14 -63 19 5 20 19 5 20 19 1 20 20 23 5 12 22 5 15 -64 3 12 15 3 11
如果您坚持保持当前模型(不要使该字段可为空或在其中包含一些字符串),那么每当将json数据保存到模型中时,请确保将字符串存储在国家/地区中。像这样:
country = models.CharField(max_length=100, null=True, default=None)
当前,每当保存模型时,当json数据没有国家/地区时,您就将YourModel.objects.create(other_field='data', country=json_data.get('country', "Unknown"))
作为参数发送。这就是为什么您得到None
的原因。