我正在尝试让以下代码块正常工作:
for r in roles:
role = Role.query.filter_by(name=r).first()
if role is None:
role = Role(name=r)
role.permissions = roles[r][0]
role.default = roles[r][1]
db.session.add(role)
db.session.commit()
但是我得到了以下信息:
role.permissions = roles[r][0]
TypeError: 'int' object is not subscriptable
我试着做str(角色[r][0],但也没用。。。有什么想法吗?你知道吗
编辑:以下是词典代码:
def insert_roles():
roles = {
'User': (Permission.FOLLOW |
Permission.COMMENT),
'Moderator': (Permission.FOLLOW |
Permission.COMMENT |
Permission.MODERATE_COMMENTS, True),
'Administrator': (0xff, False)
}
(将我的评论转换为答案)
在您的代码中,
roles['User']
似乎是一个int
。你忘了元组中的第二个布尔元素了吗?你知道吗(Permission.FOLLOW | Permission.COMMENT)
是一个int
,甚至不是一个只有一个元素的元组。您可能需要将其更改为:相关问题 更多 >
编程相关推荐