Я смотрел несколько видеороликов и читал разные сообщения, чтобы попытаться понять основную структуру SQLAlchemy в сценарии python.Python SQLAlchemy Основная структура
Может кто-нибудь сказать мне:
- Почему ниже скрипт не
Сценарий:
from sqlalchemy import *
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class Records(Base):
__tablename__ = 'records'
data1 = Column(Text())
data2 = Column(Text())
data3 = Column(Text())
data4 = Column(Text())
if __name__ == "__main__":
engine = create_engine('mysql://user:[email protected]/database')
Base.metadata.create_all(bind=engine, checkfirst=True)
Это терпит неудачу с
Traceback (most recent call last):
File "sqltest.py", line 6, in <module>
class Records(Base):
File "build/bdist.linux-x86_64/egg/sqlalchemy/ext/declarative/api.py", line 55, in __init__
File "build/bdist.linux-x86_64/egg/sqlalchemy/ext/declarative/base.py", line 88, in _as_declarative
File "build/bdist.linux-x86_64/egg/sqlalchemy/ext/declarative/base.py", line 103, in setup_mapping
File "build/bdist.linux-x86_64/egg/sqlalchemy/ext/declarative/base.py", line 135, in __init__
File "build/bdist.linux-x86_64/egg/sqlalchemy/ext/declarative/base.py", line 138, in _early_mapping
File "build/bdist.linux-x86_64/egg/sqlalchemy/ext/declarative/base.py", line 530, in map
File "<string>", line 2, in mapper
File "build/bdist.linux-x86_64/egg/sqlalchemy/orm/mapper.py", line 629, in __init__
File "build/bdist.linux-x86_64/egg/sqlalchemy/orm/mapper.py", line 1223, in _configure_pks
sqlalchemy.exc.ArgumentError: Mapper Mapper|Records|records could not assemble any primary key columns for mapped table 'records'
Я вынужден использовать первичный ключ? Или это связано с тем, как я называю класс Records?
Как я могу двигаться вперед без основного ключа для этой таблицы? –