Discuss
/
Python
/
测试代码中 User(id='02',name='song'......)这里,如果不把所有参数都写进去的话,例如不写id,就会提示KeyError 'id',默认值无效。请问这是为什么?
测试代码中 User(id='02',name='song'......)这里,如果不把所有参数都写进去的话,例如不写id,就会提示KeyError 'id',默认值无效。请问这是为什么?
Topic source- 1
泽屁
import asyncio
import orm
from models import User,Blog,Comment
async def test(loop):
await orm.create_pool(loop,user='root', password='', db='awesome',host='localhost')
u = User(id='02',name='song', email='test@example.com',admin=False, password='1234567890', image='about:blank',create_at=0.2)
await u.save()
if __name__ == '__main__':
loop = asyncio.get_event_loop()
loop.run_until_complete(test(loop))
print('test finished')
loop.close()
发生异常: KeyError
'id'
File "E:\pysource\awesome-python3-webapp\www\orm.py", line 156, in __getattr__ return self[key] File "E:\pysource\awesome-python3-webapp\www\orm.py", line 167, in getValueOrDefault value = getattr(self,key,None) File "E:\pysource\awesome-python3-webapp\www\orm.py", line 177, in save args = list(map(self.getValueOrDefault,self.__mappings__)) File "E:\pysource\awesome-python3-webapp\www\test.py", line 8, in test await u.save() File "E:\pysource\awesome-python3-webapp\www\test.py", line 12, in <module> loop.run_until_complete(test(loop))