From 34dfea13793d0bfce0452674ef7fffffc6d32109 Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Fri, 9 Aug 2024 16:01:15 -0400 Subject: [PATCH] Re-enabled the validator for for_id_random value missing. Probably for the 200th time... Made some changes so that it hopefully works correctly and does not break anything. --- app/models/event_file_models.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/app/models/event_file_models.py b/app/models/event_file_models.py index 64d483d..da0b33d 100644 --- a/app/models/event_file_models.py +++ b/app/models/event_file_models.py @@ -204,14 +204,14 @@ class Event_File_Base(BaseModel): # NOTE: I kind of give up on this. Handling this outside of Pydantic and before the data is even attempted to be loaded into the Event_File_Base model. -STI 2021-09-10 # NOTE: This validator will try to find and "set" the for_id_random value. However, The value is not really "set" in Pydantic. To get this value, exclude_unset=True when returning a dict from the model. - # @validator('for_id_random', always=True) - # def for_id_random_lookup(cls, v, values, **kwargs): - # log.setLevel(logging.WARNING) - # log.debug(locals()) - - # if values.get('for_id') and values['for_type']: - # return get_id_random(record_id=values['for_id'], table_name=values['for_type']) - # return None + @validator('for_id_random', always=True) + def for_id_random_lookup(cls, v, values, **kwargs): + log.setLevel(logging.WARNING) + log.debug(locals()) + if isinstance(v, str): return v + elif values.get('for_id') and values['for_type']: + return get_id_random(record_id=values['for_id'], table_name=values['for_type']) + return None # @validator('for_id', always=True) # def for_id_lookup(cls, v, values, **kwargs):