我正在使用带有sqlalchemy的烧瓶。
我有一个定义如下的模型:
class Employee(db.Model):
id = Column(Integer)
class = Column(Text) #Can I do this? I need a field named 'class'.
如果没有,那么如何在python中定义与关键字相同的变量?
答案 0 :(得分:-1)
您无法使用名称 class 定义变量,因为class是保留关键字。
https://docs.python.org/2.5/ref/keywords.html
2.3.1关键字
以下标识符用作保留字或关键字 语言, nd不能用作普通标识符。他们一定是 完全拼写如下:
和del来自不作为elif
全局或断言否则如果通过
产品中断除了导入打印类
高管继续最后是执行 为lambda尝试返回def
如果没有,那么如何在python中定义与关键字相同的变量?
根据评论中的建议,您可以在单词后附加一个字符(例如_
),并且编译正常。
答案 1 :(得分:-1)
说
class_ = Column('class', Text)
会给你一个名为" class _"的orm字段。对应于数据库中名为" class"的列。听起来这可能是你想要做的事情。
这可能是也可能不是最好的事情。做一些像
这样的事情可能会更好clas = Column(Text)
并故意拼写它"搞笑",只是为了让事情从长远来看更简单。当orm名称与列名相同时,SQLAlchemy非常高兴。
(这是否解决了您的问题?)
答案 2 :(得分:-1)
'类'是Python中受保护的单词,几乎意味着您无法覆盖它。如果你想要类似于' class',作为一个变量,那么我建议使用' Class'或者' class_(班级名称/主题)'克服你的问题。