On Tue, Mar 26, 2013 at 5:04 PM, Andre Terra <andrete...@gmail.com> wrote: > Could you provide us any examples or code at all?
The app is very abstracted. It builds a queryset, starting with: queryset = self.data_model.objects.filter(**args) then there are more calls to filter on it and then it finally gets to the code I'm modifying, and there's a call to queryset = queryset.values_list() If I put my queryset = queryset.extra() before that, then look at the query, my extra is there: -> queryset = queryset.extra(select={field['name'] : field['name']}) (Pdb) n -> queryset = queryset.values_list(*self.get_search_columns()) (Pdb) print queryset.query SELECT (top-bottom) AS `top-bottom`, .... (Pdb) n -> data = list(queryset) (Pdb) print queryset.query SELECT `data_cst`.`image_measurer_id`, `data_cst`.`image_pr_top_id`, `data_target`.`name`, `data_recipe`.`name`, `data_cst`.`ep`, `data_lot`.`name`, `data_cst`.`date_time`, `data_cst`.`bottom` FROM `data_cst` INNER JOIN `data_target` ON (`data_cst`.`target_name_id` = `data_target`.`id`) INNER JOIN `data_recipe` ON (`data_cst`.`recipe_id` = `data_recipe`.`id`) INNER JOIN `data_lot` ON (`data_cst`.`lot_id` = `data_lot`.`id`) WHERE (`data_cst`.`date_time` <= 2013-03-26 23:59:59 AND `data_cst`.`date_time` >= 2010-03-26 00:00:00 ) ORDER BY `data_cst`.`date_time` DESC But if I reverse the order the extra doesn't make to the query at all: Then after the call to queryset.values_list() it's gone: -> queryset = queryset.values_list(*self.get_search_columns()) (Pdb) n -> queryset = queryset.extra(select={field['name'] : field['name']}) (Pdb) print queryset.query SELECT `data_cst`.`image_measurer_id`, `data_cst`.`image_pr_top_id`, `data_target`.`name`, `data_recipe`.`name`, `data_cst`.`ep`, `data_lot`.`name`, `data_cst`.`date_time`, `data_cst`.`bottom` FROM `data_cst` INNER JOIN `data_target` ON (`data_cst`.`target_name_id` = `data_target`.`id`) INNER JOIN `data_recipe` ON (`data_cst`.`recipe_id` = `data_recipe`.`id`) INNER JOIN `data_lot` ON (`data_cst`.`lot_id` = `data_lot`.`id`) WHERE (`data_cst`.`date_time` <= 2013-03-26 23:59:59 AND `data_cst`.`date_time` >= 2010-03-26 00:00:00 ) ORDER BY `data_cst`.`date_time` DESC {Pdb) n -> data = list(queryset) (Pdb) print queryset.query SELECT `data_cst`.`image_measurer_id`, `data_cst`.`image_pr_top_id`, `data_target`.`name`, `data_recipe`.`name`, `data_cst`.`ep`, `data_lot`.`name`, `data_cst`.`date_time`, `data_cst`.`bottom` FROM `data_cst` INNER JOIN `data_target` ON (`data_cst`.`target_name_id` = `data_target`.`id`) INNER JOIN `data_recipe` ON (`data_cst`.`recipe_id` = `data_recipe`.`id`) INNER JOIN `data_lot` ON (`data_cst`.`lot_id` = `data_lot`.`id`) WHERE (`data_cst`.`date_time` <= 2013-03-26 23:59:59 AND `data_cst`.`date_time` >= 2010-03-26 00:00:00 ) ORDER BY `data_cst`.`date_time` DESC > > > Cheers, > AT > > On Tue, Mar 26, 2013 at 7:51 PM, Larry Martell <larry.mart...@gmail.com> > wrote: >> >> I have some existing code that calls values_list on a queryset. I need >> to add something using extra to this queryset. If I call extra before >> values_list the extra stuff is gone from the query after the >> values_list. If I call extra after the call to values_list it seems to >> have to effect - the extra stuff is not in the query. Is there some >> way to use both values_list and extra on same queryset? >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Django users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to django-users+unsubscr...@googlegroups.com. >> To post to this group, send email to django-users@googlegroups.com. >> Visit this group at http://groups.google.com/group/django-users?hl=en. >> For more options, visit https://groups.google.com/groups/opt_out. >> >> > > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to django-users+unsubscr...@googlegroups.com. > To post to this group, send email to django-users@googlegroups.com. > Visit this group at http://groups.google.com/group/django-users?hl=en. > For more options, visit https://groups.google.com/groups/opt_out. > > -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscr...@googlegroups.com. To post to this group, send email to django-users@googlegroups.com. Visit this group at http://groups.google.com/group/django-users?hl=en. For more options, visit https://groups.google.com/groups/opt_out.