1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | 以下是使用 SQLAlchemy 建立 city、area 和 shop 資料表的模型定義: ``` from sqlalchemy import Column, ForeignKey, Integer, String, DECIMAL, TIMESTAMP from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import relationship Base = declarative_base() class City(Base): __tablename__ = 'city' id = Column(Integer, primary_key=True, autoincrement=True) name = Column(String(255), unique=True) created_at = Column(TIMESTAMP, server_default=text('CURRENT_TIMESTAMP')) updated_at = Column(TIMESTAMP, server_default=text('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP')) areas = relationship("Area", back_populates="city") class Area(Base): __tablename__ = 'area' id = Column(Integer, primary_key=True, autoincrement=True) name = Column(String(255)) city_id = Column(Integer, ForeignKey('city.id')) city = relationship("City", back_populates="areas") shops = relationship("Shop", back_populates="area") class Shop(Base): __tablename__ = 'shop' id = Column(Integer, primary_key=True, autoincrement=True) name = Column(String(255)) city_id = Column(Integer, ForeignKey('city.id')) area_id = Column(Integer, ForeignKey('area.id')) address = Column(String(255)) lat = Column(DECIMAL(9, 6)) lng = Column(DECIMAL(9, 6)) city = relationship("City") area = relationship("Area") ``` 請確保你已經安裝了 SQLAlchemy 庫。這段程式碼定義了 City、Area 和 Shop 這三個模型類別,對應於資料庫中的 city、area 和 shop 資料表。它們之間使用外鍵建立關聯,並通過 relationship 定義反向關聯。 你可以將這段程式碼放在適當的檔案中,然後使用 SQLAlchemy 的 ORM 功能來操作資料庫。 |
Direct link: https://paste.plurk.com/show/CW2Ky43frRyfeGYJRvfu