gpt4 book ai didi

python - 在 create() 之前检查值是否有效

转载 作者:行者123 更新时间:2023-12-04 15:13:14 25 4
gpt4 key购买 nike

您好,我正在尝试从 CSV 导入行,但我无法处理类型错误。例如,如果您在日期时间字段中插入一个字符串,我会在创建时遇到此错误:

psycopg2.errors.InFailedSqlTransaction: current transaction is aborted, commands ignored until end of transaction block

尽管处理错误

try:
my_module.create()
exception Except:
#stuff
pass

如何在我开始创建或至少处理错误并采取其他操作之前检查这些值。目前,如果我插入一个选择中不存在的字段,我可以使用 try catch 进行管理,但不能用于数据类型

最佳答案

BaseModel 上有一个方法load(fields, data),您可以对其进行扩展。

class MyModel(models.Model):
# if a new model
_name = 'my.model'
# if an extended model
# _inherit = 'my.model'

def load(self, fields, data):
""" Extended to do stuff to the data before importing it to database"""
# do stuff like converting weird data input
clean_data = self.clean_data(data)
# call super with cleaned data afterwards
return super(MyClass, self).load(fields, clean_data)

关于python - 在 create() 之前检查值是否有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64821886/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com