UserMixin破坏了mySQL连接器

时间:2019-07-17 23:50:15

标签: mysql flask flask-sqlalchemy flask-login

如果用户模型不是从UserMixin继承的,则用户模型将按预期的方式提交到数据库,但是当我将UserMixin添加到用户模型时,我从mySQLConnector收到一条错误消息,指出_mysql_connector.MySQLInterfaceError: Python type User cannot be converted

我试图找到MySQLConnector的替代方案,但是MySQLConnector除了这一过程之外,还可以完成其他任务。我不想降级到python2.x。有什么解决办法吗?

更新:我一直在玩,似乎mySQLConnector不喜欢任何带有方法的东西..即使只有一个方法,它也会失败。

1 个答案:

答案 0 :(得分:0)

SQLConnector尝试在数据库中放置方法时发生问题:失败

要解决此问题,请将User类分为两个单独的类:UserData和User。在用户数据中,将要提交到数据库的所有属性放入。然后,在User类中,同时继承UserMixin和UserData。提交数据库时,提交UserData而不是User。使用flask_login中的方法时,将UserData对象强制转换为User对象。一切都会按预期进行。