Source code for clld.db.models.unit
from sqlalchemy import Column, Integer, ForeignKey, UniqueConstraint
from sqlalchemy.orm import relationship
from zope.interface import implementer
from clld.db.meta import Base, PolymorphicBaseMixin
from clld import interfaces
from . import (
IdNameDescriptionMixin, DataMixin, HasDataMixin, FilesMixin, HasFilesMixin, Language)
__all__ = ('Unit',)
class Unit_data(Base, DataMixin):
pass
class Unit_files(Base, FilesMixin):
pass
[docs]@implementer(interfaces.IUnit)
class Unit(Base,
PolymorphicBaseMixin,
IdNameDescriptionMixin,
HasDataMixin,
HasFilesMixin):
"""A linguistic unit of a language."""
__table_args__ = (UniqueConstraint('language_pk', 'id'),)
language_pk = Column(Integer, ForeignKey('language.pk'), nullable=False)
language = relationship(Language, innerjoin=True)