Здравствуйте! Есть 2 модели
class Storage(models.Model):
code = models.CharField('Код', max_length=32, unique=True)
title = models.CharField('Наименование', max_length=128)
def __str__(self):
return self.title
class Meta:
verbose_name = 'Склад'
verbose_name_plural = 'Склады'
class Product(models.Model):
code = models.CharField('Код', max_length=32)
barCode = models.CharField('ШтрихКод', max_length=32)
title = models.CharField('Наименование', max_length=128)
count = models.FloatField()
priceZ = models.FloatField()
priceR = models.FloatField()
priceO = models.FloatField()
lastUpdate = models.DateTimeField('Обновление', auto_now=True)
storage = models.ForeignKey(Storage, verbose_name='Склад')
def __str__(self):
return self.title
class Meta:
verbose_name = 'Товар'
verbose_name_plural = 'Товары'
Есть сериалайзер
from .models import Product, Storage
from rest_framework import serializers
class ProductSerializers(serializers.ModelSerializer):
class Meta:
model = Product
fields = ('code', 'barCode', 'title', 'priceZ', 'priceR', 'priceO', 'lastUpdate', 'storage')
И есть функция вывода
class ProductViewSet(viewsets.ModelViewSet):
# queryset = Product.objects.all()
serializer_class = ProductSerializers
def get_queryset(self):
queryset = Product.objects.all()
barCode = self.request.query_params.get('barCode', None)
if barCode is not None:
queryset = Product.objects.filter(barCode__icontains=barCode)
return queryset
Пытаюсь вывести так, чтобы вместо поля Product.storage выводились не цифры, а название Storage.title. Пытался сделать через select_related, но что то не получается, точнее не знаю как записать в сериалайзере
Updated 3 Feb. 2017, 22:43 by NewPerson.