from DBUtil import Base,Session
from sqlalchemy import Column,Integer,String,ForeignKey
from sqlalchemy.orm import relationship
class User(Base):
__tablename__ = 't_connect_user'
id = Column(Integer,primary_key = True, autoincrement = True)
uname = Column(String(50))
item = relationship('Item')
class Item(Base):
__tablename__ = 't_connect_item'
price = Column(Integer)
uid = Column(Integer,ForeignKey("t_connect_user.id"))
user = relationship('User',backref='item')
def create_table():
User1 = User(uname = 'nihao')
Item1 = Item(price = 40)
User1.item = Item1
with Session() as ses:
ses.add(User1)
# User1.item.append(Item1)
ses.commit()
# class LoginUser(Base):
# __tablename__ = 't_user_login'
# id = Column(Integer,primary_key=True,autoincrement=True)
# uname = Column(String(32),nullable=False)
# passwd = Column(String(32),nullable=False)
# user = relationship('User',uselist=False) # 不友好,总有警告
# class User(Base):
# __tablename__ = 't_user_2'
# id = Column(Integer,primary_key=True,autoincrement=True)
# name = Column(String(32),nullable=False,name='name')
# gender = Column(String(1))
# address = Column(String(64))
# login_id = Column(Integer,ForeignKey('t_user_login.id'))
# login_user = relationship('LoginUser')
# def create_data():
# login = LoginUser(uname = 'baizhan', passwd = '123')
# user = User(name='百战',gender = '女',address ='北京')
# # login.user = user # 建立关联关系
# user.login_user = login
# with Session() as ses:
# ses.add(user)
# ses.commit()
if __name__ == '__main__':
Base.metadata.create_all()
# create_table()
错误:
File "/Users/bytedance/python学习/SQLAlchemy/SQLAlchemy_env/lib/python3.11/site-packages/sqlalchemy/orm/mapper.py", line 693, in __init__
self._configure_pks()
File "/Users/bytedance/python学习/SQLAlchemy/SQLAlchemy_env/lib/python3.11/site-packages/sqlalchemy/orm/mapper.py", line 1400, in _configure_pks
raise sa_exc.ArgumentError(
sqlalchemy.exc.ArgumentError: Mapper mapped class Item->t_connect_item could not assemble any primary key columns for mapped table 't_connect_item'
这个问题到底出自在哪呢?? 差了快一小时了也没找到