【问题标题】:InvalidRequestError when running SQLAlchemy code运行 SQLAlchemy 代码时出现 InvalidRequestError
【发布时间】:2019-08-30 12:17:51
【问题描述】:

我在 atom 中运行 sqlalchemy 代码并收到我不理解的错误,因为它是 Web 开发的新手。 同样,当从终端运行时,它会显示相同的错误。 代码如下:

root@KS:~/Desktop/hello_files# python database_setup.py

Traceback (most recent call last):
  File "database_setup.py", line 15, in <module>
    class Restaurant(Base):
  File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/ext/declarative/api.py", line 75, in __init__
    _as_declarative(cls, classname, cls.__dict__)
  File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/ext/declarative/base.py", line 130, in _as_declarative
    _MapperConfig.setup_mapping(cls, classname, dict_)
  File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/ext/declarative/base.py", line 158, in setup_mapping
    cfg_cls(cls_, classname, dict_)
  File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/ext/declarative/base.py", line 188, in __init__
    self._setup_inheritance()
  File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/ext/declarative/base.py", line 583, in _setup_inheritance
    "table-mapped class." % cls
sqlalchemy.exc.InvalidRequestError: Class <class '__main__.Restaurant'> does not have a __table__ or __tablename__ specified and does not inherit from an existing table-mapped class.

【问题讨论】:

  • database_setup 的代码在哪里?

标签: python python-2.7 sqlalchemy


【解决方案1】:

您需要在 Restaurant 类上指定 __tablename__。也许像__tablename__ = 'restaurants'

【讨论】:

    猜你喜欢
    • 2016-03-15
    • 1970-01-01
    • 2017-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-28
    相关资源
    最近更新 更多