@@ -15,68 +15,68 @@ class CrudModel(object):
1515 def __init__ (self , model : Type [models .Model ]):
1616 self .model = model
1717 self .m2m_fields = [
18- f
19- for f in self .model ._meta .get_fields (include_hidden = True )
20- if isinstance (f , models .ManyToManyField )
18+ _field
19+ for _field in self .model ._meta .get_fields (include_hidden = True )
20+ if isinstance (_field , models .ManyToManyField )
2121 ]
2222
2323 def __get_fields (self , payload : Dict ) -> Tuple [Dict , Dict ]:
2424 m2m_fields = {}
2525 local_fields = {}
26- for field in payload .keys ():
27- model_field = self .model ._meta .get_field (field )
26+ for _field in payload .keys ():
27+ model_field = self .model ._meta .get_field (_field )
2828 if is_many_relationship (model_field ):
29- m2m_fields .update ({field : payload [field ]})
29+ m2m_fields .update ({_field : payload [_field ]})
3030 else :
31- local_fields .update ({field : payload [field ]})
31+ local_fields .update ({_field : payload [_field ]})
3232 return local_fields , m2m_fields
3333
3434 # Define BASE CRUD
3535 def _crud_add_obj (self , ** payload : Dict ) -> Any :
3636 local_fields , m2m_fields = self .__get_fields (payload )
3737 obj = self .model .objects .create (** local_fields )
3838 if m2m_fields :
39- for field , value in m2m_fields .items ():
40- if value and isinstance (value , List ):
41- m2m_f = getattr (obj , field )
42- m2m_f .set (value )
39+ for _field , _value in m2m_fields .items ():
40+ if _value and isinstance (_value , List ):
41+ m2m_f = getattr (obj , _field )
42+ m2m_f .set (_value )
4343 return obj
4444
45- def _crud_del_obj (self , id : int ) -> "BaseApiResponse" :
46- obj = get_object_or_none (self .model , pk = id )
45+ def _crud_del_obj (self , pk : int ) -> "BaseApiResponse" :
46+ obj = get_object_or_none (self .model , pk = pk )
4747 if obj :
48- self .model .objects .filter (pk = id ).delete ()
48+ self .model .objects .filter (pk = pk ).delete ()
4949 return BaseApiResponse ({"Detail" : "Deleted." })
5050 else :
5151 return BaseApiResponse (
5252 {"Detail" : "Not found." }, message = "Not found."
5353 ) # pragma: no cover
5454
55- def _crud_update_obj (self , id : int , payload : Dict ) -> "BaseApiResponse" :
55+ def _crud_update_obj (self , pk : int , payload : Dict ) -> "BaseApiResponse" :
5656 local_fields , m2m_fields = self .__get_fields (payload )
5757 try :
5858 obj , created = self .model .objects .update_or_create (
59- pk = id , defaults = local_fields
59+ pk = pk , defaults = local_fields
6060 )
6161 except Exception as e : # pragma: no cover
6262 logger .error (f"Crud_update Error - { e } " , exc_info = True )
6363 return BaseApiResponse (message = "Failed" )
6464 if m2m_fields :
65- for field , value in m2m_fields .items ():
66- if value :
67- m2m_f = getattr (obj , field )
68- m2m_f .set (value )
65+ for _field , _value in m2m_fields .items ():
66+ if _value :
67+ m2m_f = getattr (obj , _field )
68+ m2m_f .set (_value )
6969 return BaseApiResponse ({"id" : obj .id , "created" : created })
7070
71- def _crud_get_obj (self , id : int ) -> Any :
71+ def _crud_get_obj (self , pk : int ) -> Any :
7272 if self .m2m_fields :
73- qs = self .model .objects .filter (pk = id ).prefetch_related (
73+ qs = self .model .objects .filter (pk = pk ).prefetch_related (
7474 self .m2m_fields [0 ].name
7575 )
7676 for f in self .m2m_fields [1 :]:
7777 qs = qs .prefetch_related (f .name )
7878 else :
79- qs = self .model .objects .filter (pk = id )
79+ qs = self .model .objects .filter (pk = pk )
8080 if qs :
8181 return qs .first ()
8282 return BaseApiResponse ()
0 commit comments