私は sqlalchemy を初めて使用し、問題に遭遇しました。新しい行の一部だけを挿入する方法が見つかりません。すべてのsession.add()
列を指定すると、行を挿入できます。しかし、いくつかの列だけを指定したい場合はどうすればよいでしょうか?
インターネット上で、.insert()
sqlalchemy.sql.expression.insert(table, values=None, inline=False, **kwargs)
(プログラミングは初めてなので、これらの行をまだ完全には理解していません)
輸入しました
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
from sqlalchemy.sql.expression import insert
Base = declarative_base()
engine = create_engine('sqlite:///test.db')
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
Session = sessionmaker(bind=engine)
Session.configure(bind=engine)
session = Session()
session.add(users.insert().values(name="some name"))
この最後の行で AttributeError が発生し続けます。(Users has no attribute insert)
私は何を間違っていますか?