added class Titelbild; improved _asdict() and __repr__() class methods
This commit is contained in:
parent
f8d64461cd
commit
10193be983
@ -2,16 +2,15 @@ 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
|
||||||
|
|
||||||
# override/add __repr__() and _asdict() methods from sqlalchemy.orm.decl_api.Model for easier handling of table rows
|
# add method to sqlalchemy.orm.decl_api.Model
|
||||||
def __repr__(self):
|
|
||||||
return str({col.key: self.__getattribute__(col.key) for col in self.__table__.c})
|
|
||||||
|
|
||||||
def _asdict(self):
|
def _asdict(self):
|
||||||
return {col.key: self.__getattribute__(col.key) for col in self.__table__.c}
|
return {col.key: "<BLOB>" if type(col.type) == db.types.BLOB else self.__getattribute__(col.key) for col in self.__table__.c}
|
||||||
|
|
||||||
db.Model.__repr__ = __repr__
|
|
||||||
db.Model._asdict = _asdict
|
db.Model._asdict = _asdict
|
||||||
|
|
||||||
|
# override repr() method from sqlalchemy.orm.decl_api.Model
|
||||||
|
def __repr__(self):
|
||||||
|
return str(self._asdict())
|
||||||
|
db.Model.__repr__ = __repr__
|
||||||
|
|
||||||
class Text(db.Model):
|
class Text(db.Model):
|
||||||
__table__ = db.Model.metadata.tables['Text']
|
__table__ = db.Model.metadata.tables['Text']
|
||||||
@ -29,6 +28,7 @@ class Werk(db.Model):
|
|||||||
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")
|
||||||
|
titelbild = relationship("Titelbild", back_populates="werk")
|
||||||
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")
|
||||||
@ -75,6 +75,10 @@ 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 Titelbild(db.Model):
|
||||||
|
__table__ = db.Model.metadata.tables['Titelbild']
|
||||||
|
werk = relationship("Werk", back_populates="titelbild")
|
||||||
|
|
||||||
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")
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user