added __repr__() and _asdict() methods to "Model" baseclass; changed indentation from 4 to 2
This commit is contained in:
parent
e45e45f025
commit
7dc191dcab
@ -2,90 +2,100 @@ from the_works.database import db
|
|||||||
from sqlalchemy.orm import relationship
|
from sqlalchemy.orm import relationship
|
||||||
from sqlalchemy.ext.associationproxy import association_proxy
|
from sqlalchemy.ext.associationproxy import association_proxy
|
||||||
|
|
||||||
class Text(db.Model):
|
# override/add __repr__() and _asdict() methods from sqlalchemy.orm.decl_api.Model for easier handling of table rows
|
||||||
__table__ = db.Model.metadata.tables['Text']
|
def __repr__(self):
|
||||||
|
return str({col.key: self.__getattribute__(col.key) for col in self.__table__.c})
|
||||||
|
|
||||||
reihe = relationship("Reihe", back_populates="text")
|
def _asdict(self):
|
||||||
textform = relationship("Textform", back_populates="text")
|
return {col.key: self.__getattribute__(col.key) for col in self.__table__.c}
|
||||||
sprache = relationship("Sprache", back_populates="text")
|
|
||||||
veroeffentlichung = relationship("Veroeffentlichung", back_populates="text")
|
db.Model.__repr__ = __repr__
|
||||||
text_genre = relationship("Text_Genre", back_populates="text", cascade="save-update, merge, delete, delete-orphan")
|
db.Model._asdict = _asdict
|
||||||
genres = association_proxy("text_genre", "Genre")
|
|
||||||
|
|
||||||
|
class Text(db.Model):
|
||||||
|
__table__ = db.Model.metadata.tables['Text']
|
||||||
|
reihe = relationship("Reihe", back_populates="text")
|
||||||
|
textform = relationship("Textform", back_populates="text")
|
||||||
|
sprache = relationship("Sprache", back_populates="text")
|
||||||
|
veroeffentlichung = relationship("Veroeffentlichung", back_populates="text")
|
||||||
|
text_genre = relationship("Text_Genre", back_populates="text", cascade="save-update, merge, delete, delete-orphan")
|
||||||
|
genres = association_proxy("text_genre", "Genre")
|
||||||
|
|
||||||
class Werk(db.Model):
|
class Werk(db.Model):
|
||||||
__table__ = db.Model.metadata.tables['Werk']
|
__table__ = db.Model.metadata.tables['Werk']
|
||||||
reihe = relationship("Reihe", back_populates="werk")
|
reihe = relationship("Reihe", back_populates="werk")
|
||||||
verlag = relationship("Verlag", back_populates="werk")
|
verlag = relationship("Verlag", back_populates="werk")
|
||||||
werksform = relationship("Werksform", back_populates="werk")
|
werksform = relationship("Werksform", back_populates="werk")
|
||||||
veroeffentlichung = relationship("Veroeffentlichung", back_populates="werk")
|
veroeffentlichung = relationship("Veroeffentlichung", back_populates="werk")
|
||||||
werk_genre = relationship("Werk_Genre", back_populates="werk", cascade="save-update, merge, delete, delete-orphan")
|
werk_genre = relationship("Werk_Genre", back_populates="werk", cascade="save-update, merge, delete, delete-orphan")
|
||||||
genres = association_proxy("werk_genre", "Genre")
|
genres = association_proxy("werk_genre", "Genre")
|
||||||
werk_herausgeber = relationship("Werk_Herausgeber", back_populates="werk", cascade="save-update, merge, delete, delete-orphan")
|
werk_herausgeber = relationship("Werk_Herausgeber", back_populates="werk", cascade="save-update, merge, delete, delete-orphan")
|
||||||
herausgeber = association_proxy("werk_herausgeber", "Herausgeber")
|
herausgeber = association_proxy("werk_herausgeber", "Herausgeber")
|
||||||
|
|
||||||
class Veroeffentlichung(db.Model):
|
class Veroeffentlichung(db.Model):
|
||||||
__table__ = db.Model.metadata.tables['Veroeffentlichung']
|
__table__ = db.Model.metadata.tables['Veroeffentlichung']
|
||||||
text = relationship("Text", back_populates="veroeffentlichung")
|
text = relationship("Text", back_populates="veroeffentlichung")
|
||||||
werk = relationship("Werk", back_populates="veroeffentlichung")
|
werk = relationship("Werk", back_populates="veroeffentlichung")
|
||||||
pseudonym = relationship("Pseudonym", back_populates="veroeffentlichung")
|
pseudonym = relationship("Pseudonym", back_populates="veroeffentlichung")
|
||||||
|
|
||||||
class Reihe(db.Model):
|
class Reihe(db.Model):
|
||||||
__table__ = db.Model.metadata.tables['Reihe']
|
__table__ = db.Model.metadata.tables['Reihe']
|
||||||
text = relationship("Text", back_populates="reihe")
|
text = relationship("Text", back_populates="reihe")
|
||||||
werk = relationship("Werk", back_populates="reihe")
|
werk = relationship("Werk", back_populates="reihe")
|
||||||
verlag = relationship("Verlag", back_populates="reihe")
|
verlag = relationship("Verlag", back_populates="reihe")
|
||||||
|
|
||||||
class Verlag(db.Model):
|
class Verlag(db.Model):
|
||||||
__table__ = db.Model.metadata.tables['Verlag']
|
__table__ = db.Model.metadata.tables['Verlag']
|
||||||
werk = relationship("Werk", back_populates="verlag")
|
werk = relationship("Werk", back_populates="verlag")
|
||||||
reihe = relationship("Reihe", back_populates="verlag")
|
reihe = relationship("Reihe", back_populates="verlag")
|
||||||
|
|
||||||
class Sprache(db.Model):
|
class Sprache(db.Model):
|
||||||
__table__ = db.Model.metadata.tables['Sprache']
|
__table__ = db.Model.metadata.tables['Sprache']
|
||||||
text = relationship("Text", back_populates="sprache")
|
text = relationship("Text", back_populates="sprache")
|
||||||
|
|
||||||
class Textform(db.Model):
|
class Textform(db.Model):
|
||||||
__table__ = db.Model.metadata.tables['Textform']
|
__table__ = db.Model.metadata.tables['Textform']
|
||||||
text = relationship("Text", back_populates="textform")
|
text = relationship("Text", back_populates="textform")
|
||||||
|
|
||||||
class Werksform(db.Model):
|
class Werksform(db.Model):
|
||||||
__table__ = db.Model.metadata.tables['Werksform']
|
__table__ = db.Model.metadata.tables['Werksform']
|
||||||
werk = relationship("Werk", back_populates="werksform")
|
werk = relationship("Werk", back_populates="werksform")
|
||||||
|
|
||||||
class Genre(db.Model):
|
class Genre(db.Model):
|
||||||
__table__ = db.Model.metadata.tables['Genre']
|
__table__ = db.Model.metadata.tables['Genre']
|
||||||
text_genre = relationship("Text_Genre", back_populates="genre")
|
text_genre = relationship("Text_Genre", back_populates="genre")
|
||||||
werk_genre = relationship("Werk_Genre", back_populates="genre")
|
werk_genre = relationship("Werk_Genre", back_populates="genre")
|
||||||
|
|
||||||
class Pseudonym(db.Model):
|
class Pseudonym(db.Model):
|
||||||
__table__ = db.Model.metadata.tables['Pseudonym']
|
__table__ = db.Model.metadata.tables['Pseudonym']
|
||||||
veroeffentlichung = relationship("Veroeffentlichung", back_populates="pseudonym")
|
veroeffentlichung = relationship("Veroeffentlichung", back_populates="pseudonym")
|
||||||
|
|
||||||
class Herausgeber(db.Model):
|
class Herausgeber(db.Model):
|
||||||
__table__ = db.Model.metadata.tables['Herausgeber']
|
__table__ = db.Model.metadata.tables['Herausgeber']
|
||||||
werk_herausgeber = relationship("Werk_Herausgeber", back_populates="herausgeber")
|
werk_herausgeber = relationship("Werk_Herausgeber", back_populates="herausgeber")
|
||||||
|
|
||||||
class Text_Genre(db.Model):
|
class Text_Genre(db.Model):
|
||||||
__table__ = db.Model.metadata.tables['Text_Genre']
|
__table__ = db.Model.metadata.tables['Text_Genre']
|
||||||
text = relationship("Text", back_populates="text_genre")
|
text = relationship("Text", back_populates="text_genre")
|
||||||
genre = relationship("Genre", back_populates="text_genre")
|
genre = relationship("Genre", back_populates="text_genre")
|
||||||
|
|
||||||
def __init__(self, genre: int):
|
def __init__(self, genre: int):
|
||||||
self.Genre = genre
|
self.Genre = genre
|
||||||
|
|
||||||
class Werk_Genre(db.Model):
|
class Werk_Genre(db.Model):
|
||||||
__table__ = db.Model.metadata.tables['Werk_Genre']
|
__table__ = db.Model.metadata.tables['Werk_Genre']
|
||||||
werk = relationship("Werk", back_populates="werk_genre")
|
werk = relationship("Werk", back_populates="werk_genre")
|
||||||
genre = relationship("Genre", back_populates="werk_genre")
|
genre = relationship("Genre", back_populates="werk_genre")
|
||||||
|
|
||||||
def __init__(self, genre: int):
|
def __init__(self, genre: int):
|
||||||
self.Genre = genre
|
self.Genre = genre
|
||||||
|
|
||||||
class Werk_Herausgeber(db.Model):
|
class Werk_Herausgeber(db.Model):
|
||||||
__table__ = db.Model.metadata.tables['Werk_Herausgeber']
|
__table__ = db.Model.metadata.tables['Werk_Herausgeber']
|
||||||
werk = relationship("Werk", back_populates="werk_herausgeber")
|
werk = relationship("Werk", back_populates="werk_herausgeber")
|
||||||
herausgeber = relationship("Herausgeber", back_populates="werk_herausgeber")
|
herausgeber = relationship("Herausgeber", back_populates="werk_herausgeber")
|
||||||
|
|
||||||
def __init__(self, hrsg: int):
|
def __init__(self, hrsg: int):
|
||||||
self.Herausgeber = hrsg
|
self.Herausgeber = hrsg
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user