entire v3 datamodel orm NEXT: test orm

This commit is contained in:
2024-11-01 14:47:03 +01:00
parent 4bfebf2f61
commit ae1156bd6c
6 changed files with 213 additions and 167 deletions

38
neofarm/orm/taxonomy.py Normal file
View File

@@ -0,0 +1,38 @@
import jsonapi_requests
class Taxonomy(jsonapi_requests.orm.ApiModel):
class Meta:
type = 'taxonomy_term'
@classmethod
def get_type_and_path(cls, name):
return (f"{cls.type}{api_type_spatrator}{name}", f"{cls.path}{api_path_separator}{name}")
@classmethod
def set_api(cls, api):
cls.api = api
name = jsonapi_requests.orm.AttributeField('name')
class Crop(Taxonomy):
class Meta(Taxonomy.Meta):
name = 'crop_family'
type, path = Log.Meta.get_type_and_path(name)
class LogCategory(Taxonomy):
class Meta(Taxonomy.Meta):
name = 'log_category'
type, path = Log.Meta.get_type_and_path(name)
class MaterialType(Taxonomy):
class Meta(Taxonomy.Meta):
name = 'material_type'
type, path = Log.Meta.get_type_and_path(name)
class PlantType(Taxonomy):
class Meta(Taxonomy.Meta):
name = 'plant_type'
type, path = Log.Meta.get_type_and_path(name)
class ProductType(Taxonomy):
class Meta(Taxonomy.Meta):
name = 'product_type'
type, path = Log.Meta.get_type_and_path(name)
class Season(Taxonomy):
class Meta(Taxonomy.Meta):
name = 'season'
type, path = Log.Meta.get_type_and_path(name)