Code source de pypn_habref_api.models

# coding: utf8
from sqlalchemy import ForeignKey
from utils_flask_sqla.serializers import serializable

from pypn_habref_api.env import db as DB


@serializable
[docs] class BibHabrefTypoRel(DB.Model):
[docs] __tablename__ = "bib_habref_typo_rel"
[docs] __table_args__ = {"schema": "ref_habitats"}
[docs] cd_type_rel = DB.Column(DB.Integer, primary_key=True)
[docs] lb_type_rel = DB.Column(DB.Unicode)
[docs] lb_rel = DB.Column(DB.Unicode)
[docs] corresp_hab = DB.Column(DB.Boolean)
[docs] corresp_esp = DB.Column(DB.Boolean)
[docs] corresp_syn = DB.Column(DB.Boolean)
@serializable
[docs] class CorespHab(DB.Model):
[docs] __tablename__ = "habref_corresp_hab"
[docs] __table_args__ = {"schema": "ref_habitats"}
[docs] cd_corresp_hab = DB.Column(DB.Integer, primary_key=True)
[docs] cd_hab_entre = DB.Column(DB.Integer, ForeignKey("ref_habitats.habref.cd_hab"))
[docs] cd_hab_sortie = DB.Column(DB.Integer)
[docs] cd_type_relation = DB.Column( DB.Integer, ForeignKey("ref_habitats.bib_habref_typo_rel.cd_type_rel") )
[docs] lb_condition = DB.Column(DB.Unicode)
[docs] lb_remarques = DB.Column(DB.Unicode)
[docs] validite = DB.Column(DB.Boolean)
[docs] cd_typo_entre = DB.Column(DB.Integer)
[docs] cd_typo_sortie = DB.Column(DB.Integer)
[docs] date_crea = DB.Column(DB.Integer)
[docs] diffusion = DB.Column(DB.Boolean)
[docs] type_rel = DB.relationship("BibHabrefTypoRel", lazy="select")
@serializable
[docs] class TypoRef(DB.Model):
[docs] __tablename__ = "typoref"
[docs] __table_args__ = {"schema": "ref_habitats"}
[docs] cd_typo = DB.Column(DB.Integer, primary_key=True)
[docs] cd_table = DB.Column(DB.Unicode)
[docs] lb_nom_typo = DB.Column(DB.Unicode)
[docs] nom_jeu_donnees = DB.Column(DB.Unicode)
[docs] date_creation = DB.Column(DB.Unicode)
[docs] date_mise_jour_table = DB.Column(DB.Unicode)
[docs] date_mise_jour_metadonnees = DB.Column(DB.Unicode)
[docs] auteur_typo = DB.Column(DB.Unicode)
[docs] auteur_table = DB.Column(DB.Unicode)
[docs] territoire = DB.Column(DB.Unicode)
[docs] organisme = DB.Column(DB.Unicode)
[docs] langue = DB.Column(DB.Unicode)
[docs] presentation = DB.Column(DB.Unicode)
[docs] description = DB.Column(DB.Unicode)
[docs] origine = DB.Column(DB.Unicode)
[docs] ref_biblio = DB.Column(DB.Unicode)
[docs] mots_cles = DB.Column(DB.Unicode)
[docs] referencement = DB.Column(DB.Unicode)
[docs] diffusion = DB.Column(DB.Unicode)
[docs] derniere_modif = DB.Column(DB.Unicode)
[docs] type_table = DB.Column(DB.Unicode)
[docs] cd_typo_entre = DB.Column(DB.Integer)
[docs] cd_typo_sortie = DB.Column(DB.Integer)
[docs] niveau_inpn = DB.Column(DB.Integer)
[docs] habitats = DB.relationship("Habref", back_populates="typo")
[docs] cor_list_habitat = DB.Table( "cor_list_habitat", DB.Column("id_cor_list", DB.Integer, primary_key=True), DB.Column("id_list", DB.Integer, ForeignKey("ref_habitats.bib_list_habitat.id_list")), DB.Column("cd_hab", DB.Integer, ForeignKey("ref_habitats.habref.cd_hab")), schema="ref_habitats", )
@serializable
[docs] class Habref(DB.Model):
[docs] __tablename__ = "habref"
[docs] __table_args__ = {"schema": "ref_habitats"}
[docs] cd_hab = DB.Column(DB.Integer, primary_key=True)
[docs] fg_validite = DB.Column(DB.Unicode)
[docs] cd_typo = DB.Column(DB.Integer, ForeignKey("ref_habitats.typoref.cd_typo"))
[docs] lb_code = DB.Column(DB.Unicode)
[docs] lb_hab_fr = DB.Column(DB.Unicode)
[docs] lb_hab_fr_complet = DB.Column(DB.Unicode)
[docs] lb_hab_en = DB.Column(DB.Unicode)
[docs] lb_auteur = DB.Column(DB.Unicode)
[docs] niveau = DB.Column(DB.Integer)
[docs] lb_niveau = DB.Column(DB.Unicode)
[docs] cd_hab_sup = DB.Column(DB.Integer)
[docs] path_cd_hab = DB.Column(DB.Unicode)
[docs] france = DB.Column(DB.Unicode)
[docs] lb_description = DB.Column(DB.Unicode)
[docs] typo = DB.relationship("TypoRef", lazy="joined", back_populates="habitats")
[docs] correspondances = DB.relationship("CorespHab", lazy="select")
[docs] lists = DB.relationship( "BibListHabitat", secondary=cor_list_habitat, back_populates="habitats" )
@serializable
[docs] class BibListHabitat(DB.Model):
[docs] __tablename__ = "bib_list_habitat"
[docs] __table_args__ = {"schema": "ref_habitats"}
[docs] id_list = DB.Column(DB.Integer, primary_key=True)
[docs] list_name = DB.Column(DB.Unicode)
[docs] habitats = DB.relationship("Habref", secondary=cor_list_habitat, back_populates="lists")
@serializable
[docs] class AutoCompleteHabitat(DB.Model):
[docs] __tablename__ = "autocomplete_habitat"
[docs] __table_args__ = {"schema": "ref_habitats"}
[docs] cd_hab = DB.Column(DB.Integer, primary_key=True)
[docs] cd_typo = DB.Column(DB.Integer)
[docs] lb_code = DB.Column(DB.Unicode)
[docs] lb_nom_typo = DB.Column(DB.Unicode)
[docs] search_name = DB.Column(DB.Unicode)
[docs] lists = DB.relationship( BibListHabitat, primaryjoin=(cor_list_habitat.c.cd_hab == cd_hab), secondary=cor_list_habitat, viewonly=True, )