Python 我怎么能不在SQLAlchemy中覆盖变量?
目前正在学习flaskpython教程,现在它将提供一个关于使用SQLAlchemy的数据库的基本教程。我试图在项目中编写代码,到目前为止,我的代码按预期的方式工作,但我有点困惑为什么某个部分的工作方式是这样的 下面是我正在努力掌握的代码片段,它使用SQLAlchemy python库构建一个表示数据库表的类Python 我怎么能不在SQLAlchemy中覆盖变量?,python,sqlalchemy,Python,Sqlalchemy,目前正在学习flaskpython教程,现在它将提供一个关于使用SQLAlchemy的数据库的基本教程。我试图在项目中编写代码,到目前为止,我的代码按预期的方式工作,但我有点困惑为什么某个部分的工作方式是这样的 下面是我正在努力掌握的代码片段,它使用SQLAlchemy python库构建一个表示数据库表的类 class Puppy(db.Model): __tablename__ = 'puppies' id = db.Column(db.Integer, primary_
class Puppy(db.Model):
__tablename__ = 'puppies'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.Text)
age = db.Column(db.Integer)
breed = db.Column(db.Text)
def __init__(self, name, age, breed):
self.name = name
self.age = age
self.breed = breed
然后,我可以在一个单独的python脚本中导入“Puppy”对象,并通过调用Puppy对象和传递适当的参数为新的Puppy创建一个表条目,例如:
Puppy('Fido','4','border collie')
我迷路的地方是变量赋值。在init方法运行之前,所有这些变量都被分配给SQLAlchemy列对象,但是每当一个Puppy对象被实例化时,我会认为分配给这些变量的任何内容都会被覆盖。init方法似乎应该将参数传递给列对象,而不是为它们分配输入,但不知何故,它就是这样工作的。如有任何澄清,我们将不胜感激。以下是一些提示:。该行为基于元类和描述符。以下是一些指针:。行为基于元类和描述符。