Migrate from dyn_join_with to selectinload

This commit is contained in:
phil 2024-01-03 17:07:11 +05:30
parent be8d7c3175
commit 1e3678fb69
5 changed files with 73 additions and 41 deletions

View file

@ -1,6 +1,6 @@
from typing import Any
from sqlmodel import Field, String, JSON, Column
from sqlmodel import Field, String, JSON, Relationship
from gisaf.models.models_base import Model
from gisaf.models.metadata import gisaf_map
@ -51,13 +51,21 @@ class BaseMapLayer(Model):
id: int | None = Field(primary_key=True, default=None)
base_map_id: int = Field(foreign_key='base_map.id', index=True)
## Subclasses must include:
# base_map: BaseMap = Relationship()
store: str = Field(sa_type=String(100))
@classmethod
def dyn_join_with(cls):
return {
'base_map': BaseMap,
}
def selectinload(cls):
return [
cls.base_map
]
# @classmethod
# def dyn_join_with(cls):
# return {
# 'base_map': BaseMap,
# }
def __repr__(self):
return f"<models.BaseMapLayer {self.store or '':s}>"