我是 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)
我究竟做错了什么?