mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
Include part image URL in Part API
This commit is contained in:
parent
6a04e8b059
commit
416b5c9820
@ -14,6 +14,7 @@ import tablib
|
|||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
from django.core.exceptions import ValidationError
|
from django.core.exceptions import ValidationError
|
||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
|
from django.conf import settings
|
||||||
|
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from django.core.validators import MinValueValidator
|
from django.core.validators import MinValueValidator
|
||||||
@ -120,8 +121,17 @@ class Part(models.Model):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
def get_absolute_url(self):
|
def get_absolute_url(self):
|
||||||
|
""" Return the web URL for viewing this part """
|
||||||
return reverse('part-detail', kwargs={'pk': self.id})
|
return reverse('part-detail', kwargs={'pk': self.id})
|
||||||
|
|
||||||
|
def get_image_url(self):
|
||||||
|
""" Return the URL of the image for this part """
|
||||||
|
|
||||||
|
if self.image:
|
||||||
|
return os.path.join(settings.MEDIA_URL, str(self.image.url))
|
||||||
|
else:
|
||||||
|
return ''
|
||||||
|
|
||||||
# Short name of the part
|
# Short name of the part
|
||||||
name = models.CharField(max_length=100, unique=True, blank=False, help_text='Part name (must be unique)')
|
name = models.CharField(max_length=100, unique=True, blank=False, help_text='Part name (must be unique)')
|
||||||
|
|
||||||
|
@ -33,6 +33,7 @@ class PartBriefSerializer(serializers.ModelSerializer):
|
|||||||
""" Serializer for Part (brief detail) """
|
""" Serializer for Part (brief detail) """
|
||||||
|
|
||||||
url = serializers.CharField(source='get_absolute_url', read_only=True)
|
url = serializers.CharField(source='get_absolute_url', read_only=True)
|
||||||
|
image_url = serializers.CharField(source='get_image_url', read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Part
|
model = Part
|
||||||
@ -40,6 +41,7 @@ class PartBriefSerializer(serializers.ModelSerializer):
|
|||||||
'pk',
|
'pk',
|
||||||
'url',
|
'url',
|
||||||
'name',
|
'name',
|
||||||
|
'image_url',
|
||||||
'description',
|
'description',
|
||||||
'available_stock',
|
'available_stock',
|
||||||
]
|
]
|
||||||
@ -51,6 +53,7 @@ class PartSerializer(serializers.ModelSerializer):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
url = serializers.CharField(source='get_absolute_url', read_only=True)
|
url = serializers.CharField(source='get_absolute_url', read_only=True)
|
||||||
|
image_url = serializers.CharField(source='get_image_url', read_only=True)
|
||||||
category_name = serializers.CharField(source='category_path', read_only=True)
|
category_name = serializers.CharField(source='category_path', read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -60,6 +63,7 @@ class PartSerializer(serializers.ModelSerializer):
|
|||||||
'pk',
|
'pk',
|
||||||
'url', # Link to the part detail page
|
'url', # Link to the part detail page
|
||||||
'name',
|
'name',
|
||||||
|
'image_url',
|
||||||
'IPN',
|
'IPN',
|
||||||
'URL', # Link to an external URL (optional)
|
'URL', # Link to an external URL (optional)
|
||||||
'description',
|
'description',
|
||||||
|
Loading…
Reference in New Issue
Block a user