gpt4 book ai didi

python sqlalchemy没有填写行

转载 作者:搜寻专家 更新时间:2023-10-30 20:42:07 24 4
gpt4 key购买 nike

你好,我是 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

关于python sqlalchemy没有填写行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15160088/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com