@@ -73,8 +73,7 @@ class Cfg(BaseModel):
7373
7474 name : Optional [str ] = None
7575
76- def _get_str_value (self , field : str ) -> str :
77- value = getattr (self , field )
76+ def _get_str (self , value : Any ) -> str :
7877 if isinstance (value , type ):
7978 value = value .__name__
8079 elif isinstance (value , partial ):
@@ -83,6 +82,9 @@ def _get_str_value(self, field: str) -> str:
8382 value = value .__name__
8483 return value
8584
85+ def _get_str_value (self , field : str ) -> str :
86+ return self ._get_str (getattr (self , field ))
87+
8688 def __repr__ (self ) -> str :
8789 return f"{ self .__repr_name__ ()} (\n { self .__repr_str__ (chr (10 ) + ' ' )} )"
8890
@@ -135,11 +137,14 @@ def print_set_fields(self) -> None:
135137 else :
136138 print ("Nothing changed" )
137139
138- def print_changed_fields (self ) -> None :
140+ def print_changed_fields (self , show_default : bool = False , separator : str = " | " ) -> None :
139141 """Print fields changed at init."""
140142 if self .changed_fields :
143+ default_value = ""
141144 print ("Changed fields:" )
142145 for field in self .changed_fields :
143- print (f"{ field } : { self ._get_str_value (field )} " )
146+ if show_default :
147+ default_value = f"{ separator } { self ._get_str (self .model_fields [field ].default )} "
148+ print (f"{ field } : { self ._get_str_value (field )} { default_value } " )
144149 else :
145150 print ("Nothing changed" )
0 commit comments