@@ -267,7 +267,8 @@ def orm_get_list(
267267 # TODO: support icontains here
268268 filter_expr = f""""{ search } " in m.{ search_field } """
269269 qs_ids = qs .filter (filter_expr )
270- ids += [o .id for o in qs_ids ]
270+ objs = list (qs_ids )
271+ ids += [o .id for o in objs ]
271272 qs = qs .filter (lambda m : m .id in set (ids ))
272273
273274 ordering = [sort_by ] if sort_by else self .ordering
@@ -298,7 +299,7 @@ def orm_get_obj(self, id: UUID | int) -> Any | None:
298299 :params id: an id of object.
299300 :return: An object.
300301 """
301- return next (( i for i in self .model_cls .select (** {self .get_model_pk_name (self .model_cls ): id })), None )
302+ return self .model_cls .select (** {self .get_model_pk_name (self .model_cls ): id }). first ( )
302303
303304 @sync_to_async
304305 @db_session
@@ -310,7 +311,7 @@ def orm_save_obj(self, id: UUID | Any | None, payload: dict) -> Any:
310311 :return: An object.
311312 """
312313 if id :
313- obj = next (( i for i in self .model_cls .select (** {self .get_model_pk_name (self .model_cls ): id })), None )
314+ obj = self .model_cls .select (** {self .get_model_pk_name (self .model_cls ): id }). first ( )
314315 if not obj :
315316 return None
316317 obj .set (** payload )
@@ -328,7 +329,7 @@ def orm_delete_obj(self, id: UUID | int) -> None:
328329 :params id: an id of object.
329330 :return: None.
330331 """
331- obj = next (( i for i in self .model_cls .select (** {self .get_model_pk_name (self .model_cls ): id })), None )
332+ obj = self .model_cls .select (** {self .get_model_pk_name (self .model_cls ): id }). first ( )
332333 if not obj :
333334 return
334335 obj .delete ()
@@ -346,7 +347,7 @@ def orm_get_m2m_ids(self, obj: Any, field: str) -> list[int | UUID]:
346347 :return: A list of ids.
347348 """
348349 key_id = self .get_model_pk_name (self .model_cls )
349- obj = next (( i for i in self .model_cls .select (** {key_id : getattr (obj , key_id )})), None )
350+ obj = self .model_cls .select (** {key_id : getattr (obj , key_id )}). first ( )
350351 if not obj :
351352 return []
352353 rel_model_cls = getattr (self .model_cls , field ).py_type
@@ -365,7 +366,7 @@ def orm_save_m2m_ids(self, obj: Any, field: str, ids: list[int | UUID]) -> None:
365366 :return: A list of ids.
366367 """
367368 key_id = self .get_model_pk_name (self .model_cls )
368- obj = next (( i for i in self .model_cls .select (** {key_id : getattr (obj , key_id )})), None )
369+ obj = self .model_cls .select (** {key_id : getattr (obj , key_id )}). first ( )
369370 if not obj :
370371 return
371372 getattr (obj , field ).clear ()
@@ -388,7 +389,6 @@ def orm_save_upload_field(self, obj: Any, field: str, base64: str) -> None:
388389
389390 :return: A list of ids.
390391 """
391- ...
392392
393393 @sync_to_async
394394 @db_session
@@ -403,7 +403,7 @@ def serialize_obj_attributes(
403403 """
404404 data = {}
405405 key_id = self .get_model_pk_name (self .model_cls )
406- obj = next (( i for i in self .model_cls .select (** {key_id : getattr (obj , key_id )})), None )
406+ obj = self .model_cls .select (** {key_id : getattr (obj , key_id )}). first ( )
407407 if not obj :
408408 return data
409409
0 commit comments