Merge remote-tracking branch 'inventree/master'

This commit is contained in:
Oliver Walters 2019-05-21 08:58:08 +10:00
commit 92b0ed6599
3 changed files with 17 additions and 5 deletions

View File

@ -75,7 +75,14 @@ class SupplierPartList(generics.ListCreateAPIView):
- POST: Create a new SupplierPart object
"""
queryset = SupplierPart.objects.all()
queryset = SupplierPart.objects.all().prefetch_related(
'part',
'part__category',
'part__stock_items',
'part__bom_items',
'part__builds',
'supplier')
serializer_class = SupplierPartSerializer
permission_classes = [

View File

@ -17,6 +17,7 @@ from django.conf import settings
from django.core.files.base import ContentFile
from django.db import models, transaction
from django.db.models import Sum
from django.db.models import prefetch_related_objects
from django.core.validators import MinValueValidator
from django.contrib.staticfiles.templatetags.staticfiles import static
@ -411,7 +412,7 @@ class Part(models.Model):
total = None
# Calculate the minimum number of parts that can be built using each sub-part
for item in self.bom_items.all().select_related('sub_part'):
for item in self.bom_items.all().prefetch_related('sub_part__stock_items'):
stock = item.sub_part.available_stock
n = int(1.0 * stock / item.quantity)
@ -449,9 +450,11 @@ class Part(models.Model):
builds = []
for item in self.used_in.all().prefetch_related('part'):
for item in self.used_in.all().prefetch_related('part__builds'):
for build in item.part.active_builds:
active = item.part.active_builds
for build in active:
b = {}
b['build'] = build
@ -459,6 +462,8 @@ class Part(models.Model):
builds.append(b)
prefetch_related_objects(builds, 'build_items')
return builds
@property

View File

@ -89,7 +89,7 @@ class PartSerializer(serializers.ModelSerializer):
'keywords',
'URL',
'total_stock',
'available_stock',
# 'available_stock',
'units',
'trackable',
'buildable',