【发布时间】:2020-07-04 11:47:12
【问题描述】:
我正在尝试将数据从 csv 文件导入 Django,但我不断收到此错误:
NOT NULL 约束失败:error_boilermodel.ModelBrand_id
我的模型是这样的:
from django.db import models
# Create your models here.
class BoilerBrand(models.Model):
BrandName = models.CharField(max_length=40, blank=False)
def __str__(self):
return self.BrandName
class meta:
db_table = 'Boiler_Brand'
class BoilerModel(models.Model):
ModelBrand = models.ForeignKey('BoilerBrand', on_delete=models.CASCADE,)
ModelName = models.CharField(max_length=600, blank=False)
def __str__(self):
return self.ModelName
class meta:
db_table = 'Boiler_Model'
class BoilerError(models.Model):
BoilerBrand = models.ForeignKey('BoilerBrand', on_delete=models.CASCADE,)
BoilerModel = models.ForeignKey('BoilerModel', on_delete=models.CASCADE,)
ErrorCode = models.CharField(max_length=40, blank=False)
ErrorDesc = models.CharField(max_length=200, blank=False)
ErrorFix = models.CharField(max_length=200, blank=False, default="Call a technician")
def __str__(self):
return self.ErrorCode
class meta:
db_table = 'Boiler_Error'
我的导入代码是这样的:
import csv
from error.models import BoilerError,BoilerBrand,BoilerModel
ImportBrandName = "worcester-bosch"
def run():
file = open("D:/python tratining/boilererror/error/csv-error-codes/worcester-bosch-error-codes-Copy.csv")
reader = csv.reader(file)
BoilerError.objects.all().delete()
BoilerModel.objects.all().delete()
BoilerBrand.objects.all().delete()
for row in reader:
print(row)
a, created = BoilerBrand.objects.get_or_create(BrandName=ImportBrandName)
b, created = BoilerModel.objects.get_or_create(ModelName=row[2])
c, created = BoilerModel.objects.get_or_create(ModelBrand=ImportBrandName)
d, created = BoilerError.objects.get_or_create(BoilerBrand=ImportBrandName)
e, created = BoilerError.objects.get_or_create(ErrorCode=row[0])
f, created = BoilerError.objects.get_or_create(ErrorDesc=row[1])
g, created = BoilerError.objects.get_or_create(ModelName="Contact a Technician")
这是我正在使用的 CSV 示例:
200 O ,锅炉处于加热模式 , Greenstar 8000 锅炉
201 O ,热水模式锅炉 , Greenstar 8000 锅炉
【问题讨论】:
标签: python django csv django-models django-rest-framework