繁体   English   中英

SQL Alchemy:表 primary_key - 意外的关键字参数错误

[英]SQL Alchemy : Table primary_key - unexpected keyword argument error

我不断收到有关primary_key=True的以下错误。 请有人指出我哪里出错了。 我正在尝试遵循:

http://docs.sqlalchemy.org/en/latest/core/metadata.html#metadata-describing

from sqlalchemy import *

mydata123 = table("dailymarketdata", metadata, 
                    column('data_id', mysql.BIGINT, primary_key=True), 
                    column('dt', Date), 
                    column('security_id', mysql.VARCHAR), 
                    column('open', float), 
                    column('high', float), 
                    column('low', float), 
                    column('close', float), 
                    column('ma200', float), 
                    column('rtrend', mysql.TINYINT))

TypeError                                 Traceback (most recent call last)
<ipython-input-350-bd385371a391> in <module>()
  2 
  3 mydata123 = table("dailymarketdata", metadata, 
----> 4                  column('data_id', mysql.BIGINT, primary_key=True),
  5              column('dt', Date),
  6              column('security_id', mysql.VARCHAR),

TypeError: column() got an unexpected keyword argument 'primary_key'

如果我排除primary_key=True我得到另一个错误

`AttributeError: 'MetaData' object has no attribute 'key'

Python 是区分大小写的语言

  • columnColumn是 sqlalchemy 中的不同可调用对象。
  • tableTable也是不同的可调用对象
  • float是 python 数据类型,而 sqlalchemy 类型是Float

尝试,将您的代码段重写为:

from sqlalchemy import *
from sqlalchemy.dialects import *
metadata = MetaData()
mydata123 = Table("dailymarketdata", metadata, 
                  Column('data_id', mysql.BIGINT, primary_key=True), 
                  Column('dt', Date), 
                  Column('security_id', mysql.VARCHAR), 
                  Column('open', Float), 
                  Column('high', Float), 
                  Column('low', Float), 
                  Column('close', Float), 
                  Column('ma200', Float), 
                  Column('rtrend', mysql.TINYINT))
from sqlalchemy import Column
.
.
.

class progect(Base):
    __tablename__ = 'progect'
    id = Column(Integer, primary_key=True)

列是对的不是列

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM