私はこのような2つのクラスを書く必要があります:
class Item(Base, DBBase):
__tablename__ = 'items'
id = Column(Integer, primary_key = True)
name = Column(String)
description = Column(String)
price = Column(Float, default = 0)
on_sell = Column(Boolean, default = False)
img = Column(String)
attributes = relationship('ItemAttribute')
def __init__(self, name, description):
self.name = name
self.description = description
class ItemAttribute(Base, DBBase):
__tablename__ = 'itemattributes'
id = Column(Integer, primary_key = True)
name = Column(String, nullable = False)
value = Column(String, nullable = False)
item_id = Column(Integer, ForeignKey('items.id'))
item = relationship('Item')
def __init__(self, name, value):
self.name = name
self.value = value
1つのアイテムが複数の属性を所有できるため、次のことを行う必要があります。1.クラスItemにいくつかのメソッドを挿入して、そのアイテムのCURD(挿入、削除、更新、およびクエリ)属性を簡単に実行します。アイテムの属性を検索して、それに対応する値を返す必要があります。2.属性でアイテムを検索する機能があります。たとえば、一部のアイテムには「機能」=「真」の属性があります。この属性を持つすべてのアイテムを取得する必要があります。
手伝ってくれてありがとう。:-)