带有外键列表的SQL列

时间:2016-05-19 11:39:06

标签: python sql postgresql

我正在使用Python,PostgreSQL,SQLAlchemy和alembic。

我必须设计一个数据库,但我有点卡住,因为我的设计需要有一个列,它将存储一个基本上是外键的ID列表。我不知道如何做到这一点,而且如果我应该这样做。

示例:我有一个折扣表,基本上包含所有可用的折扣代码。我有一个折扣discount_applies到我想要存储折扣适用的所有产品的列表(我无法编辑产品表)。基本上该列将包含可以应用折扣的产品的UUID列表

1 个答案:

答案 0 :(得分:0)

class Product(Base):
    .....


class Discount(Base):
    .....

class ProductDiscount(Base):
    __tablename__ = 'discount_applies'

    product_id = Column(String(32), nullable=False, ,ForeignKey('product.id'))
    discount_id = Column(String(32), nullable=False,ForeignKey('discount.id')) #If discount primary key if Integer then change String to Integer
    product = relationship(Product)
    discount = relationship(Discount)