mirror of
https://github.com/inventree/InvenTree.git
synced 2025-06-18 21:15:41 +00:00
Fix annotations for Company serializers
This commit is contained in:
@ -4,7 +4,7 @@ JSON serializers for Company app
|
||||
|
||||
from rest_framework import serializers
|
||||
|
||||
from django.db.models import Count
|
||||
from sql_util.utils import SubqueryCount
|
||||
|
||||
from .models import Company
|
||||
from .models import SupplierPart, SupplierPriceBreak
|
||||
@ -38,11 +38,17 @@ class CompanySerializer(InvenTreeModelSerializer):
|
||||
@staticmethod
|
||||
def annotate_queryset(queryset):
|
||||
|
||||
return queryset.annotate(
|
||||
parts_supplied=Count('supplied_parts'),
|
||||
parts_manufactured=Count('manufactured_parts')
|
||||
# Add count of parts manufactured
|
||||
queryset = queryset.annotate(
|
||||
parts_manufactured=SubqueryCount('manufactured_parts')
|
||||
)
|
||||
|
||||
queryset = queryset.annotate(
|
||||
parts_supplied=SubqueryCount('supplied_parts')
|
||||
)
|
||||
|
||||
return queryset
|
||||
|
||||
url = serializers.CharField(source='get_absolute_url', read_only=True)
|
||||
|
||||
image = serializers.CharField(source='get_thumbnail_url', read_only=True)
|
||||
|
@ -33,6 +33,7 @@ InvenTree | {% trans "Supplier List" %}
|
||||
|
||||
loadCompanyTable("#company-table", "{% url 'api-company-list' %}",
|
||||
{
|
||||
pagetype: '{{ pagetype }}',
|
||||
params: {
|
||||
{% for key,value in filters.items %}{{ key }}: "{{ value }}",{% endfor %}
|
||||
}
|
||||
|
@ -51,18 +51,21 @@ class CompanyIndex(ListView):
|
||||
'button_text': _('New Supplier'),
|
||||
'filters': {'is_supplier': 'true'},
|
||||
'create_url': reverse('supplier-create'),
|
||||
'pagetype': 'suppliers',
|
||||
},
|
||||
reverse('manufacturer-index'): {
|
||||
'title': _('Manufacturers'),
|
||||
'button_text': _('New Manufacturer'),
|
||||
'filters': {'is_manufacturer': 'true'},
|
||||
'create_url': reverse('manufacturer-create'),
|
||||
'pagetype': 'manufacturers',
|
||||
},
|
||||
reverse('customer-index'): {
|
||||
'title': _('Customers'),
|
||||
'button_text': _('New Customer'),
|
||||
'filters': {'is_customer': 'true'},
|
||||
'create_url': reverse('customer-create'),
|
||||
'pagetype': 'customers',
|
||||
}
|
||||
}
|
||||
|
||||
@ -71,6 +74,7 @@ class CompanyIndex(ListView):
|
||||
'button_text': _('New Company'),
|
||||
'filters': {},
|
||||
'create_url': reverse('company-create'),
|
||||
'pagetype': 'companies'
|
||||
}
|
||||
|
||||
context = None
|
||||
|
Reference in New Issue
Block a user