可以在sqlalchemy中指定类而不指定__tablename__吗?

dis*_*dng 4 python sqlalchemy

我正在尝试创建一个基类,为方便起见,指定了id和url.

Base = declarative_base()
Base.query = session.query_property()


class CrawlableEntity(Base):
  """CrawlableEntity class for all entities crawled online.
  """
  id = Column(Integer, primary_key=True)
  url = Column(String, nullable=False)


class Model(CrawlableEntity):
  __tablename__ = 'models'
  name = Column(String)       # Bobby Raffin
  looks = relationship('Look', backref='model')
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

sqlalchemy.exc.InvalidRequestError: Class <class 'CrawlableEntity'> does not have a __table__ or __tablename__ specified and does not inherit from an existing table-mapped class.
Run Code Online (Sandbox Code Playgroud)

这种模式在sqlalchemy中是否可行?

van*_*van 7

__abstract__:

class CrawlableEntity(Base):
  """CrawlableEntity class for all entities crawled online.  """
  __abstract__ = True
  id = Column(Integer, primary_key=True)
  url = Column(String, nullable=False)
Run Code Online (Sandbox Code Playgroud)

  • *慢拍*你怎么知道这个? (3认同)