## В комментариях к моделям написано, что за связи требуется сделать ##
----------
P.s. Я хочу увидеть решение, чтобы при его анализе я понял, как оно работает, потому что мне ничего не понятно из документации (Во всяком случае, к сожалению, я не знаю базу данных, но мне срочно нужно разобраться в проблеме )
class Product(Base):
"""
id -- primary int key
name -- string column with max 64 chars
article -- unique shop article int column
items -- relation to ReceiptItems
"""
__tablename__ = 'product'
id = ...
name = ...
article = ...
items = ...
class ReceiptItem(Base):
"""
Corresponds to a line in a receipt
id -- primary key int column
receipt_id -- receipt foreign key column
receipt -- relation to Receipt
product_id -- product foreign key column
product -- relation to Product
quantity -- quantity of sold product in ReceiptItem
price -- price of sold product in ReceiptItem
Constraints:
- Receipt MUST NOT contain two ReceiptItems for same product
"""
__tablename__ = 'receipt_item'
id = ...
receipt_id = ...
receipt = ...
product_id = ...
product = ...
quantity = ...
price = ...
class Receipt(Base):
"""
id -- primary key int column
completed_at -- datetime column
items -- relation to ReceiptItems
"""
__tablename__ = 'receipt'
id = ...
completed_at = ...
items = ...