biommap/patches/models.py

119 lines
3.5 KiB
Python

from sqlalchemy import ForeignKey
from gncitizen.utils.sqlalchemy import serializable
from server import db
@serializable
class BibNoms(db.Model):
__tablename__ = "bib_noms"
__table_args__ = {"schema": "taxonomie", "extend_existing": True}
id_nom = db.Column(db.Integer, primary_key=True)
cd_nom = db.Column(db.Integer, nullable=True, unique=True)
cd_ref = db.Column(db.Integer, unique=True)
nom_francais = db.Column(db.Unicode)
comments = db.Column(db.Unicode)
@serializable
class BibListes(db.Model):
__tablename__ = "bib_listes"
__table_args__ = {"schema": "taxonomie", "extend_existing": True}
id_liste = db.Column(db.Integer, primary_key=True)
nom_liste = db.Column(db.Unicode)
desc_liste = db.Column(db.Text)
picto = db.Column(db.Unicode)
regne = db.Column(db.Unicode)
group2_inpn = db.Column(db.Unicode)
# cnl = db.relationship("CorNomListe", lazy='select')
def __repr__(self):
return "<BibListes %r>" % self.nom_liste
@serializable
class CorNomListe(db.Model):
__tablename__ = "cor_nom_liste"
__table_args__ = {"schema": "taxonomie", "extend_existing": True}
id_liste = db.Column(
db.Integer,
ForeignKey("taxonomie.bib_listes.id_liste"),
nullable=False,
primary_key=True,
)
id_nom = db.Column(
db.Integer,
ForeignKey("taxonomie.bib_noms.id_nom"),
nullable=False,
primary_key=True,
)
bib_nom = db.relationship("BibNoms")
bib_liste = db.relationship("BibListes")
def __repr__(self):
return "<CorNomListe %r>" % self.id_liste
# listes = db.relationship("CorNomListe", lazy='select')
# medias = db.relationship("TMedias", lazy='select')
#
@serializable
class TMedias(db.Model):
__tablename__ = "t_medias"
__table_args__ = {"schema": "taxonomie", "extend_existing": True}
id_media = db.Column(db.Integer, primary_key=True)
cd_ref = db.Column(
db.Integer,
ForeignKey("taxonomie.bib_noms.cd_ref"),
nullable=False,
primary_key=False,
)
titre = db.Column(db.Unicode)
url = db.Column(db.Unicode)
chemin = db.Column(db.Unicode)
auteur = db.Column(db.Unicode)
desc_media = db.Column(db.Text)
is_public = db.Column(db.BOOLEAN)
supprime = db.Column(db.BOOLEAN)
id_type = db.Column(db.Integer)
source = db.Column(db.Text)
licence = db.Column(db.Text)
def __repr__(self):
return "<TMedias %r>" % self.titre
@serializable
class Taxref(db.Model):
__tablename__ = "taxref"
__table_args__ = {"schema": "taxonomie"}
cd_nom = db.Column(db.Integer, primary_key=True)
id_statut = db.Column(db.Unicode)
id_habitat = db.Column(db.Integer)
id_rang = db.Column(db.Unicode)
regne = db.Column(db.Unicode)
phylum = db.Column(db.Unicode)
classe = db.Column(db.Unicode)
ordre = db.Column(db.Unicode)
famille = db.Column(db.Unicode)
sous_famille = db.Column(db.Unicode)
tribu = db.Column(db.Unicode)
cd_taxsup = db.Column(db.Integer)
cd_sup = db.Column(db.Integer)
cd_ref = db.Column(db.Integer)
lb_nom = db.Column(db.Unicode)
lb_auteur = db.Column(db.Unicode)
nom_complet = db.Column(db.Unicode)
nom_complet_html = db.Column(db.Unicode)
nom_vern = db.Column(db.Unicode)
nom_valide = db.Column(db.Unicode)
nom_vern_eng = db.Column(db.Unicode)
group1_inpn = db.Column(db.Unicode)
group2_inpn = db.Column(db.Unicode)
url = db.Column(db.Unicode)
def __repr__(self):
return "<Taxref %r>" % self.nom_complet