假设我正在创建一个客户可以订购小部件的系统。每个客户可能会订购许多小部件,每个小部件可能会被许多客户订购,因此我需要一个链接表来存储订单(其中还可以存储一些附加信息,如数量)。你知道吗
到目前为止,我提出了以下实现方案:
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
class Order(db.Model):
customer_id = db.Column(db.ForeignKey("customer.id"), primary_key=True)
widget_id = db.Column(db.ForeignKey("widget.id"), primary_key=True)
customer = db.relationship("Customer", back_populates="orders")
widget = db.relationship("Widget", back_populates="orders")
quantity = db.Column(db.Integer)
class Customer(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String)
orders = db.relationship("Order", back_populates="customer",
cascade="all, delete-orphan", lazy="dynamic")
class Widget(db.Model):
id = db.Column(db.Integer, primary_key=True)
description = db.Column(db.Text)
orders = db.relationship("Order", back_populates="widget",
cascade="all, delete-orphan", lazy="dynamic")
是这样吗?特别是,我需要customer
和widget
属性吗,或者我可以用backref
做些什么?(如果是这样,使用back_populates
比backref
有什么好处吗?反之亦然?)你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐