python3----异常处理----AttributeError: ‘str‘ object has no attribute ‘copy‘

1.异常情况如下:

  1. 使用flask_sqlalchemy中,设置数据库模型类的时候报的错误
  2. 模型类去继承某个抽象类的时候

File "D:\TestSoftware\Python2.7.13\lib\site-packages\sqlalchemy\orm\decl_base.py", line 628, in _produce_column_copies
column_copies[obj] = copy_ = obj._copy()
File "D:\TestSoftware\Python2.7.13\lib\site-packages\sqlalchemy\sql\schema.py", line 1911, in _copy
return self._schema_item_copy(c)
File "D:\TestSoftware\Python2.7.13\lib\site-packages\sqlalchemy\sql\schema.py", line 153, in _schema_item_copy
schema_item.info = self.info.copy()
AttributeError: 'str' object has no attribute 'copy'



2.代码情况如下:



class AbstractAutoTestData(BaseModule):
    __abstract__ = True
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)

    auto_case = db.Column(db.Integer)
    case_id = db.Column(db.Text, info='用例id') 
    case_name = db.Column(db.Text, nullable=False, info='用例描述')


# 对应表格auto_test_data_xt
class AutoTestDataXT(AbstractAutoTestData):		# 报错地点!!!
    __tablename__ = 'auto_test_data_xt'

    start_time = db.Column(db.Text)



3.解决方法:


class AbstractAutoTestData(BaseModule):
    __abstract__ = True
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)

    auto_case = db.Column(db.Integer)
    case_id = db.Column(db.Text)					 # info='用例id' 
    case_name = db.Column(db.Text, nullable=False)   # info='用例描述'

  • 在设置为抽象类的类中,每个字段不能使用info去描述字段的含义,否者就报如上错误
  • 可以使用nullable = Fasle & server_default=db.FetchedValue() 等字段属性设置,但info万万不行!!!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hello-alien

您的鼓励,是我最大的支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值