【发布时间】:2021-06-07 05:51:36
【问题描述】:
我正在尝试创建一条跟踪产品所有历史的路线。我为product 创建了一个模型,并为producthistory 创建了一个类似的模型。现在,每当我创建一个对象时,我都希望它保存在product 表和producthistory 表中。两个表的唯一区别是 id 字段。 producttable 包含产品的 id,producthistorytable 具有 historytable 的 id 字段以及产品的 id。我想使用产品的 id 进行过滤以进一步使用数据。如何在 producthistory 表中插入产品对象以及当时创建的产品 id?
这里是模型:
class Product(Base):
__tablename__ = "product"
id = Column(Integer, primary_key=True, index=True)
product_url= Column(String)
current_price= Column(Integer)
updated_at= Column(String)
created_at= Column(String)
target_price= Column(Integer)
product_name= Column(String)
class ProductHistory(Base):
__tablename__ = "producthistory"
id = Column(Integer, primary_key=True, index=True)
product_id = Column(Integer)
product_url= Column(String)
current_price= Column(Integer)
updated_at= Column(String)
created_at= Column(String)
target_price= Column(Integer)
product_name= Column(String)
这是创建产品的逻辑:
@app.post('/createproducts/')
def createproducts(request: Product, db:Session = Depends(get_db)):
product = models.Product(
product_url= request.product_url,
current_price= request.current_price,
updated_at= request.updated_at,
created_at= request.created_at,
target_price= request.target_price,
product_name= request.product_name
)
db.add(product)
db.commit()
db.refresh(product)
return product
【问题讨论】:
标签: python django sqlalchemy fastapi