2016-05-19 9 views
0

私はPython、PostgreSQL、SQLAlchemy、およびalembicで作業しています。外部キーのリストを含むSQLカラム

私はデータベースを設計する必要がありますが、私のデザインには基本的に外部キーであるIDのリストを格納する列が必要であるため、ちょっと固まっています。私はそれをどうやって行うのか、さらにそれをやるべきかどうかはわかりません。

例:基本的に利用可能なすべての割引コードが含まれている割引テーブルがあります。割引が適用されるすべての商品のリストをどこに保存するかについては、列discount_appliesがあります(商品テーブルは編集できません)。基本的には列は、product_idを持つ製品のリストを持っているので、割引は

+0

OKを適用できる製品のUUIDのリストが含まれます、あなたは修正PRODUCT_IDと同様に割引コードを使用して新しいテーブルをしたいですか? – Stivan

+1

多かれ少なかれ多くの関係のかなり標準的な音です。これがあなたに提示するのが難しいことを考えると、私はこの本「Mere Mortalsのためのデータベースデザイン」について良いことを聞いてきました。 –

+0

@Stivanはい。私の新しい割引コード表では、割引コードを複数の製品に適用することができるので、discount_applies_to列は製品IDのリストである必要があります。 – Priyam

答えて

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) 
+0

関係(人)が何であるか分かりません – Priyam

+0

申し訳ありません..私の答えを更新しました – Anoop

関連する問題