Added one more model: Photo.py and edited the Entry.py to add the Many-to-Many relationship to the Photo.py Model

This commit is contained in:
Gustavo Henrique Santos Souza de Miranda
2025-06-03 21:54:13 -03:00
parent 385cdffead
commit 983489d57f
4 changed files with 47 additions and 16 deletions
+7 -1
View File
@@ -1,8 +1,14 @@
from sqlalchemy import Column, Integer, String, ForeignKey
from sqlalchemy import Column, Integer, String, ForeignKey, Table
from Pilgrim import Base
photo_entry_association = Table('photo_entry_association', Base.metadata,
Column('id', Integer, primary_key=True, autoincrement=True),
Column('fk_Photo_id', Integer, ForeignKey('photo.id')),
Column('fk_Entry_id', Integer, ForeignKey('Entry.id')))
class Entry(Base):
__tablename__ = "Entry"
id = Column(Integer, primary_key=True)
+19
View File
@@ -0,0 +1,19 @@
from sqlalchemy import Column, Integer, String
from sqlalchemy.orm import relationship
from Pilgrim import Base
from Pilgrim.Models.Entry import photo_entry_association
class Photo(Base):
__tablename__ = "photo"
id = Column(Integer, primary_key=True)
filepath = Column(String)
name = Column(String)
addition_date = Column(String)
caption = Column(String)
entries = relationship(
"Entry",
secondary=photo_entry_association,
back_populates="photos"
)
+3 -1
View File
@@ -2,5 +2,7 @@ from Pilgrim.Application import Application
from Pilgrim.command import main
from Pilgrim.Database import Database, Base
from Pilgrim.Models.TravelDiary import TravelDiary
from Pilgrim.Models.Entry import Entry
from Pilgrim.Models.Photo import Photo
__all__ = ["Application", "Database", "TravelDiary", "main", "Base"]
__all__ = ["Application", "Database", "TravelDiary", "Entry", "Photo", "main", "Base"]