gisaf-backend/src/gisaf/models/misc.py

38 lines
914 B
Python
Raw Normal View History

import logging
from typing import Any
from pydantic import ConfigDict
from sqlmodel import Field, JSON, Column
from gisaf.models.models_base import Model
2024-01-05 01:50:32 +05:30
from gisaf.models.metadata import gisaf_map
logger = logging.getLogger(__name__)
class NotADataframeError(Exception):
pass
class Qml(Model):
"""
Model for storing qml (QGis style)
"""
model_config = ConfigDict(protected_namespaces=())
2024-01-05 01:50:32 +05:30
__table_args__ = gisaf_map.table_args
class Admin:
menu = 'Other'
flask_admin_model_view = 'QmlModelView'
model_name: str | None = Field(default=None, primary_key=True)
qml: str
attr: str
style: str
mapbox_paint: dict[str, Any] | None = Field(sa_type=JSON(none_as_null=True))
mapbox_layout: dict[str, Any] | None = Field(sa_type=JSON(none_as_null=True))
def __repr__(self):
return '<models.Qml {self.model_name:s}>'.format(self=self)