gpt4 book ai didi

python - 在Python SQLAlchemy模型中,为什么有些属性被初始化两次?

转载 作者:行者123 更新时间:2023-12-01 05:46:54 26 4
gpt4 key购买 nike

在这段代码中:

class Page(Base):
__tablename__ = 'page'
id = Column(Integer, primary_key=True)
name = Column(Text, unique=True)
data = Column(Text)

def __init__(self, name, data):
self.name = name
self.data = data

这是金字塔框架(python框架)中的一个模型,稍后将被SQLAlchemy使用,名称数据已初始化两次:

name = Column... # First assignments.
self.name = name # Second time assignments.

在pyramid的教程中,根据python中不能重载赋值运算符的事实,“name = Column(...)”有必要吗?或者我完全错了, name=Column(...) 有一些特殊的含义?

最佳答案

外部作用域为了类的利益而声明一个字段。内部作用域将对象的字段初始化为特定值。

name = Column(...)

正在描述 Page 类的成员之一(“Page 由一个名为“name”的字段组成,... ),而

self.name = name

正在将 Page 的一个特定实例初始化为一个特定值。 (“此 Page() 的名称为 “framistan”)。

关于python - 在Python SQLAlchemy模型中,为什么有些属性被初始化两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15772571/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com