@@ -36,41 +36,29 @@ def inner(pk_list):
3636 for pk in pk_list ]
3737 out_dict = cache .get_many (frozenset (cache_keys ))
3838 try :
39- out_list = [None if k is None else out_dict [k ]
40- for k in cache_keys ]
39+ return [None if k is None else out_dict [k ] for k in cache_keys ]
4140 except KeyError :
4241 out_dict = {
4342 base_cache_key % obj .pk : force_text (obj )
4443 for obj in model .objects .filter (pk__in = {pk for pk in pk_list
4544 if not isnan (pk )})}
4645 cache .set_many (out_dict )
47- out_list = list (map (out_dict .get , cache_keys ))
48- return out_list
46+ return list (map (out_dict .get , cache_keys ))
4947
5048 return inner
5149
5250
5351def build_update_functions (fieldnames , fields ):
54- update_functions = []
55-
5652 for fieldname , field in zip (fieldnames , fields ):
5753 if field .choices :
5854 choices = {k : force_text (v )
5955 for k , v in field .flatchoices }
60- update_functions .append ((fieldname ,
61- replace_from_choices (choices )))
56+ yield fieldname , replace_from_choices (choices )
6257
6358 elif field .get_internal_type () == 'ForeignKey' :
64- update_functions .append ((fieldname , replace_pk (field .rel .to )))
65-
66- return update_functions
59+ yield fieldname , replace_pk (field .rel .to )
6760
6861
6962def update_with_verbose (df , fieldnames , fields ):
70- update_functions = build_update_functions (fieldnames , fields )
71-
72- if not update_functions :
73- return
74-
75- for fieldname , function in update_functions :
63+ for fieldname , function in build_update_functions (fieldnames , fields ):
7664 df [fieldname ] = function (df [fieldname ])
0 commit comments