映射器映射器|用户|用户无法为映射表'用户'组装任何主键列

问题描述 投票:0回答:1
from sqlalchemy import *
from sqlalchemy import create_engine, ForeignKey
from sqlalchemy import Column, Date, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import relationship, backref

engine = create_engine('sqlite:///database.db', echo=True)
Base = declarative_base()

########################################################################
class User(Base):
    """"""
    __tablename__ = "users"

id = Column(Integer, primary_key=True)
username = Column(String)
password = Column(String)

#----------------------------------------------------------------------
def __init__(self, username, password):
    """"""
    self.username = username
    self.password = password

# create tables
Base.metadata.create_all(engine)

这应该创建一个文件名为database.db的db结构,但是弹出错误,我该如何解决呢?任何帮助,将不胜感激。

python flask sqlalchemy flask-sqlalchemy
1个回答
0
投票

这是一个缩进问题。解决了它。解:

from sqlalchemy import *
from sqlalchemy import create_engine, ForeignKey
from sqlalchemy import Column, Date, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import relationship, backref

engine = create_engine('sqlite:///tutorial.db', echo=True)
Base = declarative_base()

########################################################################
class User(Base):
    """"""
    __tablename__ = "users"

    id = Column(Integer, primary_key=True)
    username = Column(String)
    password = Column(String)

#----------------------------------------------------------------------
def __init__(self, username, password):
    """"""
    self.username = username
    self.password = password

# create tables
Base.metadata.create_all(engine)

0
投票

在我的情况下,我收到此错误,因为我写的像

Column('id', Integer)
Column('username', String)

VS

id = Column('id', Integer)
username = Column('username', String)
© www.soinside.com 2019 - 2024. All rights reserved.