遇到的问题:python在向mysql insert数据时出现错误1265python
在网上看到一些帖子,均是表字段长度不够,类型不符等等,查看了下本身要insert的数据,发现确实是数据的问题mysql
user = users(id='0009', email='小9', password='小小', admin=2, name='小小', image='小小', created_at=22)
想插入的数据如上,可是通过初始化以后,userargs中保存的并非按照(id, email, password, admin, name, image, created_at)这一顺序排列的数据,拿到的userargs倒是[name, id, email, created_at, image, password, admin]等乱序list。sql
def __init__(self, **kwargs): userargs = [] # print "lenofkwargs", len(kwargs) if len(kwargs) >= 0: for attr, value in kwargs.iteritems(): setattr(self, attr, value) userargs.append(value)
虽然不知道缘由,可是利用setattr函数已经创建了对应的dict,只需在__init__函数中进行以下处理便可:app
self.usertuple = (self.id, self.email, self.password, self.admin, self.name, self.image, self.created_at)
这样插入便不会出现错误啦函数