我试图创建一个从父类的元类继承一个类,我不喜欢说:我可以像这样创建从元类派生的子类吗?
from sqlalchemy import Column, String, create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
class Database(object):
"""
Class that holds all data models classes and functions
"""
def __init__(self, wenDbPath = "test.db"):
self.engine = create_engine('sqlite:///' + "c:/"+wenDbPath, echo=False)
self.Session = sessionmaker(bind=self.engine)
**self.Base** = declarative_base() # This returns a metaclass.
self.Base.metadata.create_all(self.engine)
self.session = self.Session()
class Element(**self.Base**):
__tablename__ = 'elements'
idNumber = Column(String(255), primary_key=True)
smallDiscription = Column(String(50), nullable=False)
longDiscription = Column(String())
webLink = Column(String())
def __init__(self, idNumber, smallDiscription, longDiscription, webLink):
self.idNumber = idNumber
self.longDiscription = longDiscription
self.smallDiscription = smallDiscription
self.webLink = webLink
def __repr__(self):
return "<Element ('%s : %s')>" % (self.idNumber, self.smallDiscription)
的Python给了我下面的消息
class Element(self.Base): NameError: name 'self' is not defined
我怎样才能做这样的事情?
预先感谢您。
定义外部类时,类范围中没有'self'。无论如何,你为什么要这样做? – Keith 2013-02-14 16:58:32
我想将我所有的数据类放在一个地方 – zorro 2013-02-14 17:26:03
如何使用常规方法并将所有类放入模块中? – Keith 2013-02-14 17:27:55