entire v3 datamodel orm NEXT: test orm
This commit is contained in:
45
neofarm/orm/asset.py
Normal file
45
neofarm/orm/asset.py
Normal file
@@ -0,0 +1,45 @@
|
||||
import jsonapi_requests
|
||||
|
||||
class Asset(jsonapi_requests.orm.ApiModel):
|
||||
class Meta:
|
||||
type = 'asset'
|
||||
api = api
|
||||
@classmethod
|
||||
def get_type_and_path(cls, name):
|
||||
return (f"{cls.type}{api_type_spatrator}{name}", f"{cls.path}{api_path_separator}{name}")
|
||||
|
||||
name = jsonapi_requests.orm.AttributeField('name')
|
||||
timestamp = jsonapi_requests.orm.AttributeField('timestamp')
|
||||
|
||||
class Land(Asset):
|
||||
class Meta(Asset.Meta):
|
||||
name = 'land'
|
||||
type, path = Asset.Meta.get_type_and_path(name)
|
||||
geometry = jsonapi_requests.orm.AttributeField('intrinsic_geometry')
|
||||
class Plant(Asset):
|
||||
class Meta(Asset.Meta):
|
||||
name = 'plant'
|
||||
type, path = Asset.Meta.get_type_and_path(name)
|
||||
crop = jsonapi_requests.orm.RelationField('plant_type')
|
||||
season = jsonapi_requests.orm.RelationField('season')
|
||||
class Equipment(Asset):
|
||||
class Meta(Asset.Meta):
|
||||
name = 'equipment'
|
||||
type, path = Asset.Meta.get_type_and_path(name)
|
||||
class Material(Asset):
|
||||
class Meta(Asset.Meta):
|
||||
name = 'material'
|
||||
type, path = Asset.Meta.get_type_and_path(name)
|
||||
crop = jsonapi_requests.orm.RelationField('material_type')
|
||||
class Seed(Asset):
|
||||
class Meta(Asset.Meta):
|
||||
name = 'seed'
|
||||
type, path = Asset.Meta.get_type_and_path(name)
|
||||
crop = jsonapi_requests.orm.RelationField('plant_type')
|
||||
season = jsonapi_requests.orm.RelationField('season')
|
||||
class Product(Asset):
|
||||
class Meta(Asset.Meta):
|
||||
name = 'product'
|
||||
type, path = Asset.Meta.get_type_and_path(name)
|
||||
type = jsonapi_requests.orm.RelationField('product_type')
|
||||
|
||||
Reference in New Issue
Block a user