mirror of
https://github.com/inventree/InvenTree.git
synced 2025-04-29 03:56:43 +00:00
Updated part API
This commit is contained in:
parent
08fc21eb9b
commit
4c07e8d8a0
@ -3,41 +3,25 @@ from rest_framework import serializers
|
|||||||
from .models import Part, PartCategory, PartParameter
|
from .models import Part, PartCategory, PartParameter
|
||||||
|
|
||||||
|
|
||||||
class ParameterSerializer(serializers.ModelSerializer):
|
class PartParameterSerializer(serializers.ModelSerializer):
|
||||||
""" Serializer for a PartParameter
|
""" Serializer for a PartParameter
|
||||||
"""
|
"""
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = PartParameter
|
model = PartParameter
|
||||||
fields = ('pk',
|
fields = ('pk',
|
||||||
|
'part',
|
||||||
|
'template',
|
||||||
'name',
|
'name',
|
||||||
'value',
|
'value',
|
||||||
'units')
|
'units')
|
||||||
|
|
||||||
|
|
||||||
class PartDetailSerializer(serializers.ModelSerializer):
|
class PartSerializer(serializers.ModelSerializer):
|
||||||
""" Serializer for complete detail information of a part.
|
""" Serializer for complete detail information of a part.
|
||||||
Used when displaying all details of a single component.
|
Used when displaying all details of a single component.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
params = ParameterSerializer(source='parameters', many=True)
|
|
||||||
|
|
||||||
class Meta:
|
|
||||||
model = Part
|
|
||||||
fields = ('pk',
|
|
||||||
'name',
|
|
||||||
'IPN',
|
|
||||||
'description',
|
|
||||||
'category',
|
|
||||||
'stock',
|
|
||||||
'params')
|
|
||||||
|
|
||||||
|
|
||||||
class PartBriefSerializer(serializers.ModelSerializer):
|
|
||||||
""" Serializer for displaying overview of a part.
|
|
||||||
Used e.g. for displaying list of parts in a category.
|
|
||||||
"""
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Part
|
model = Part
|
||||||
fields = ('pk',
|
fields = ('pk',
|
||||||
@ -60,7 +44,7 @@ class PartCategoryBriefSerializer(serializers.ModelSerializer):
|
|||||||
class PartCategoryDetailSerializer(serializers.ModelSerializer):
|
class PartCategoryDetailSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
# List of parts in this category
|
# List of parts in this category
|
||||||
parts = PartBriefSerializer(many=True)
|
parts = PartSerializer(many=True)
|
||||||
|
|
||||||
# List of child categories under this one
|
# List of child categories under this one
|
||||||
children = PartCategoryBriefSerializer(many=True)
|
children = PartCategoryBriefSerializer(many=True)
|
||||||
|
@ -6,6 +6,9 @@ urlpatterns = [
|
|||||||
# Single part detail
|
# Single part detail
|
||||||
url(r'^(?P<pk>[0-9]+)/$', views.PartDetail.as_view()),
|
url(r'^(?P<pk>[0-9]+)/$', views.PartDetail.as_view()),
|
||||||
|
|
||||||
|
# Part parameters list
|
||||||
|
url(r'^(?P<pk>[0-9]+)/parameters/$', views.PartParameters.as_view()),
|
||||||
|
|
||||||
# Part category detail
|
# Part category detail
|
||||||
url(r'^category/(?P<pk>[0-9]+)/$', views.PartCategoryDetail.as_view()),
|
url(r'^category/(?P<pk>[0-9]+)/$', views.PartCategoryDetail.as_view()),
|
||||||
|
|
||||||
|
@ -1,20 +1,30 @@
|
|||||||
from rest_framework import generics
|
from rest_framework import generics
|
||||||
|
|
||||||
from .models import PartCategory, Part
|
from .models import PartCategory, Part, PartParameter
|
||||||
from .serializers import PartBriefSerializer, PartDetailSerializer
|
from .serializers import PartSerializer
|
||||||
from .serializers import PartCategoryBriefSerializer, PartCategoryDetailSerializer
|
from .serializers import PartCategoryBriefSerializer, PartCategoryDetailSerializer
|
||||||
|
from .serializers import PartParameterSerializer
|
||||||
|
|
||||||
|
|
||||||
class PartDetail(generics.RetrieveAPIView):
|
class PartDetail(generics.RetrieveAPIView):
|
||||||
|
|
||||||
queryset = Part.objects.all()
|
queryset = Part.objects.all()
|
||||||
serializer_class = PartDetailSerializer
|
serializer_class = PartSerializer
|
||||||
|
|
||||||
|
|
||||||
|
class PartParameters(generics.ListAPIView):
|
||||||
|
|
||||||
|
def get_queryset(self):
|
||||||
|
part_id = self.kwargs['pk']
|
||||||
|
return PartParameter.objects.filter(part=part_id)
|
||||||
|
|
||||||
|
serializer_class = PartParameterSerializer
|
||||||
|
|
||||||
|
|
||||||
class PartList(generics.ListAPIView):
|
class PartList(generics.ListAPIView):
|
||||||
|
|
||||||
queryset = Part.objects.all()
|
queryset = Part.objects.all()
|
||||||
serializer_class = PartBriefSerializer
|
serializer_class = PartSerializer
|
||||||
|
|
||||||
|
|
||||||
class PartCategoryDetail(generics.RetrieveAPIView):
|
class PartCategoryDetail(generics.RetrieveAPIView):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user