Improve a few queries
This commit is contained in:
parent
a566e198b8
commit
009ff5ae96
@ -162,7 +162,7 @@ class ComponentView(LoginRequiredMixin, BaseTemplateMixin, TemplateView):
|
|||||||
return queryset
|
return queryset
|
||||||
|
|
||||||
def get_component_queryset_from_advanced_search(self, cleaned_data):
|
def get_component_queryset_from_advanced_search(self, cleaned_data):
|
||||||
queryset = Component.objects.select_related('manufacturer', 'package').all()
|
queryset = Component.objects.select_related('manufacturer', 'package', 'component_type').prefetch_related('componentparameter_set').all()
|
||||||
|
|
||||||
if cleaned_data['name']:
|
if cleaned_data['name']:
|
||||||
queryset = queryset.filter(Q(name__icontains=cleaned_data['name']))
|
queryset = queryset.filter(Q(name__icontains=cleaned_data['name']))
|
||||||
@ -622,7 +622,7 @@ class StockViewDetail(LoginRequiredMixin, BaseTemplateMixin, DetailView):
|
|||||||
|
|
||||||
class ComponentDetailView(LoginRequiredMixin, BaseTemplateMixin, DetailView):
|
class ComponentDetailView(LoginRequiredMixin, BaseTemplateMixin, DetailView):
|
||||||
template_name = 'parts/components-detail.html'
|
template_name = 'parts/components-detail.html'
|
||||||
queryset = Component.objects.select_related('component_type', 'package', 'manufacturer').prefetch_related('componentparameter_set')
|
queryset = Component.objects.select_related('component_type', 'package', 'manufacturer').prefetch_related('componentparameter_set', 'distributornum_set')
|
||||||
pk_url_kwarg = 'uuid'
|
pk_url_kwarg = 'uuid'
|
||||||
base_title = ''
|
base_title = ''
|
||||||
navbar_selected = 'Components'
|
navbar_selected = 'Components'
|
||||||
@ -635,8 +635,8 @@ class ComponentDetailView(LoginRequiredMixin, BaseTemplateMixin, DetailView):
|
|||||||
context['comp_form'] = ComponentForm(instance=self.object)
|
context['comp_form'] = ComponentForm(instance=self.object)
|
||||||
context['new_distri_num_form'] = DistributorNumberCreateForm()
|
context['new_distri_num_form'] = DistributorNumberCreateForm()
|
||||||
context['new_param_form'] = ComponentParameterCreateForm()
|
context['new_param_form'] = ComponentParameterCreateForm()
|
||||||
context['distri_nums'] = DistributorNum.objects.filter(component=self.object).order_by('distributor__name')
|
context['distri_nums'] = self.object.distributornum_set.select_related('distributor').order_by('distributor__name')
|
||||||
context['parameters'] = ComponentParameter.objects.filter(component=self.object).order_by('parameter_type__parameter_name')
|
context['parameters'] = self.object.componentparameter_set.order_by('parameter_type__parameter_name')
|
||||||
if self.object.package:
|
if self.object.package:
|
||||||
context['package_parameters'] = PackageParameter.objects.filter(package=self.object.package).order_by('parameter_type__parameter_name')
|
context['package_parameters'] = PackageParameter.objects.filter(package=self.object.package).order_by('parameter_type__parameter_name')
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user