2024-05-21 05:08:51 发布
网友
我从一个程序化的程序中创建了一个字典
{'field1: 3, 'field2: 'TEST'}
我将这个字典作为它的字段输入到模型中(例如:Model(**dict))
Model(**dict)
确定要运行的单元测试的数据系列是否有效。在
如何验证这些数据类型对我的数据库是有效的,而不必执行插入和回滚操作,因为这会在测试中引入薄片,就像我与实际的数据库交互一样正确吗?(MySQL)。在
这里有一个简单的方法来完成你所要求的
class Sample_Table(Base): __tablename__ = 'Sample_Table' __table_args__ = {'sqlite_autoincrement': True} id = Column(Integer, primary_key=True, nullable=False) col1 = Column(Integer) col2 = Column(Integer) def __init__(self, **kwargs): for k,v in kwargs.items(): col_type = str(self.__table__.c[k].type) try: if str(type(v).__name__) in col_type.lower(): setattr(self, k, v) else: raise Exception("BAD COLUMN TYPE FOR COL " + k) except ValueError as e: print e.message
如果您试图使用上面的方法插入列类型与您指定的不同的记录,它将抛出一个错误,即它不会执行插入和回滚。在
要证明这是有效的,请尝试以下完整的工作代码:
(即使我使用了SQLite,它也同样适用于MySQL数据库。)
我在sqlalchemy方面没有太多的经验,但是如果您在模型的列中使用数据类型,这行得通吗?在
{a1}你可能会帮上忙
这里有一个简单的方法来完成你所要求的
如果您试图使用上面的方法插入列类型与您指定的不同的记录,它将抛出一个错误,即它不会执行插入和回滚。在
要证明这是有效的,请尝试以下完整的工作代码:
^{pr2}$(即使我使用了SQLite,它也同样适用于MySQL数据库。)
我在sqlalchemy方面没有太多的经验,但是如果您在模型的列中使用数据类型,这行得通吗?在
{a1}你可能会帮上忙
相关问题 更多 >
编程相关推荐