You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Would anyone be able to give me a Pydantic tip at all?
Is it possible on a pydantic model to reference another class? For example below in the ReadRequestModel in point_type I am trying to figure out if its possible reference that only these "types of points" in a string format can be chosen:
# type-of-points
# just for reference
multiStateValue
multiStateInput
multiStateOutput
analogValue
analogInput
analogOutput
binaryValue
binaryInput
binaryOutput
And depending on what point_type is that depics what type of point_id can be chosen that I am trying to reference in the PointType class twice below that is obviously very wrong. Any tips greatly appreciated...
from typing import List, Literal, Optional
from pydantic import BaseModel
BOOLEAN_ACTION_MAPPING = Literal["active", "inactive"]
class ReadRequestModel(BaseModel):
device_address: str
point_type: PointType <--- not correct
point_id: PointType <--- not correct
class PointType(BaseModel):
multiStateValue: Optional[int]
multiStateInput: Optional[int]
multiStateOutput: Optional[int]
analogValue: Optional[int]
analogInput: Optional[int]
analogOutput: Optional[int]
binaryValue: Optional[BOOLEAN_ACTION_MAPPING]
binaryInput: Optional[BOOLEAN_ACTION_MAPPING]
binaryOutput: Optional[BOOLEAN_ACTION_MAPPING]
r = ReadRequestModel({'device_address': '12345:5',
'point_type': 'analogInput',
'point_id': 8})
print(r)
The text was updated successfully, but these errors were encountered:
Would anyone be able to give me a Pydantic tip at all?
Is it possible on a pydantic model to reference another class? For example below in the
ReadRequestModel
inpoint_type
I am trying to figure out if its possible reference that only these "types of points" in a string format can be chosen:And depending on what point_type is that depics what type of point_id can be chosen that I am trying to reference in the PointType class twice below that is obviously very wrong. Any tips greatly appreciated...
The text was updated successfully, but these errors were encountered: