cli/db: handle integer foreign keys being null

This commit is contained in:
Iain Learmonth 2022-04-22 14:42:50 +01:00
parent fcad77a839
commit 6f9cd1eaaa

View file

@ -43,12 +43,17 @@ def impot(model: db.Model):
x = model() x = model()
for i in range(len(header)): for i in range(len(header)):
if header[i] in ["added", "updated", "destroyed", "deprecated", "last_updated", "terraform_updated"]: if header[i] in ["added", "updated", "destroyed", "deprecated", "last_updated", "terraform_updated"]:
# datetime fields
if line[i] == "": if line[i] == "":
line[i] = None line[i] = None
else: else:
line[i] = datetime.datetime.strptime(line[i], "%Y-%m-%d %H:%M:%S.%f") line[i] = datetime.datetime.strptime(line[i], "%Y-%m-%d %H:%M:%S.%f")
if header[i] in ["eotk"]: elif header[i] in ["eotk"]:
# boolean fields
line[i] = line[i] == "True" line[i] = line[i] == "True"
elif header[i].endswith("_id") and line[i] == "":
# integer foreign keys
line[i] = None
setattr(x, header[i], line[i]) setattr(x, header[i], line[i])
db.session.add(x) db.session.add(x)
db.session.commit() db.session.commit()