python sqlalchemy未填充行

python sqlalchemy未填充行,python,database,sqlalchemy,Python,Database,Sqlalchemy,您好,我是SQLalchemy新手,在列中插入数据时遇到一些问题 import sqlalchemy from sqlalchemy import create_engine from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import Column, Integer, String, ForeignKey, B

您好,我是SQLalchemy新手,在列中插入数据时遇到一些问题

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

engine = create_engine('sqlite:///test.db')
Base = declarative_base()

class Users(Base):
    __tablename__ = 'users'

    id = Column(Integer, primary_key=True)
    name = Column(String, unique=True)
    password = Column(String)
    email = Column(String)

        def __init__(self, name, password, email):
            self._name = name
            self._password = password
            self._email = email    

Base.metadata.create_all(engine)
Session = sessionmaker(bind=engine)
Session.configure(bind=engine)
session = Session()


dm_user = Users("Dungeonmaster", "123", "email")
print dm_user.name
print dm_user.password
print dm_user.email

session.add(dm_user)

our_user = session.query(Users).filter_by(name='Dungeonmaster').first() 

session.commit()
我使用sqlite studio查看是否添加了数据,并且我看到正在创建新行(使用新id),但是没有插入数据名、密码和电子邮件

在我试图添加一些错误之前,我就看到了打印,但我不知道是什么。请帮我一点忙


(dm_user=Users(“Dungeonmaster”、“123”、“email”)也尝试使用单引号(在使用sqlalchemy之前对我有所帮助,但在这里没有区别)

您的init方法不会初始化持久列。请改为尝试(删除下划线):


天哪,很抱歉,后来改了,好像我错过了一些。真的很傻,我没看到哈哈。谢谢老兄
def __init__(self, name, password, email):
    self.name = name
    self.password = password
    self.email = email