diff --git a/src/flask_covid19/blueprints/data_rki/rki_model.py b/src/flask_covid19/blueprints/data_rki/rki_model.py index 130b8dc966263cff57b73d4bd5f9b6b2e87aa855..f8f2702899145892f87da492f9245ca3dd14c56d 100644 --- a/src/flask_covid19/blueprints/data_rki/rki_model.py +++ b/src/flask_covid19/blueprints/data_rki/rki_model.py @@ -178,6 +178,12 @@ class RkiLandkreis(BlueprintLocation): return rki_landkreis_dict +association_table_rki_to_altersgruppe = db.Table('rki_to_altersgruppe', db.Model.metadata, + db.Column('rki_id', db.Integer, db.ForeignKey('rki.id')), + db.Column('rki_altersgruppe_id', db.Integer, db.ForeignKey('rki_altersgruppe.id')) +) + + class RkiAltersgruppe(BlueprintEntity): __tablename__ = 'rki_altersgruppe' __mapper_args__ = {'concrete': True} @@ -189,6 +195,10 @@ class RkiAltersgruppe(BlueprintEntity): processed_update = db.Column(db.Boolean, nullable=False) processed_full_update = db.Column(db.Boolean, nullable=False) altersgruppe = db.Column(db.String(255), nullable=False) + datas = db.relationship( + 'RkiData', + secondary=association_table_rki_to_altersgruppe, + back_populates="altersgruppen") @classmethod def get_all_as_page(cls, page: int): @@ -212,12 +222,6 @@ class RkiAltersgruppe(BlueprintEntity): return altersgruppe_dict -association_table_rki_to_altersgruppe = db.Table('rki_to_altersgruppe', db.Model.metadata, - db.Column('rki_id', db.Integer, db.ForeignKey('rki.id')), - db.Column('rki_altersgruppe_id', db.Integer, db.ForeignKey('rki_altersgruppe.id')) -) - - class RkiData(BlueprintFactTable): __tablename__ = 'rki' __mapper_args__ = {'concrete': True} @@ -245,6 +249,7 @@ class RkiData(BlueprintFactTable): 'RkiAltersgruppe', secondary=association_table_rki_to_altersgruppe, lazy='joined', + back_populates="datas", cascade='save-update, delete', order_by='desc(RkiAltersgruppe.altersgruppe)') neuer_fall = db.Column(db.String(255), nullable=False)