Привет всем, подскажите пожалуйста как убрать похожие объекты в django rest framework?
[
{
"pk": 3,
"name": "Объект 1",
"ingredients": [
{
"groups": [
{
"name": "Картофель",
"value": "7.00"
}
]
},
{
"groups": [
{
"name": "Лук",
"value": "7.00"
},
{
"name": "Лук", **- вот эти объекты повторяются**
"value": "6.00"
}
]
}
]
},
{
"pk": 4,
"name": "Объект 2",
"ingredients": [
{
"groups": [
{
"name": "Лук", **- вот эти объекты повторяются**
"value": "7.00"
},
{
"name": "Лук",
"value": "6.00"
}
]
}
]
}
вот модель
class Ingredients(models.Model):
name = models.CharField(max_length=100)
def __unicode__(self):
return self.name
class Food(models.Model):
category = models.ForeignKey(DishCategory)
name = models.CharField(max_length=100)
image = models.ImageField(upload_to='dish', blank=True)
time = models.CharField(max_length=50, blank=True)
ingredients = models.ManyToManyField(Ingredients, through='IngredientsValue')
description = models.TextField(blank=True, null=True)
forChild = models.CharField(max_length=100, blank=True)
portion = models.DecimalField(max_digits=5, decimal_places=2)
class IngredientsValue(models.Model):
ingredientsAll = models.ForeignKey(Ingredients)
foodAll = models.ForeignKey(Food)
value = models.DecimalField(max_digits=5, decimal_places=2)
measureAll = models.ForeignKey(Measure)
это views:
class FoodView(generics.ListAPIView):
queryset = Food.objects.all()
serializer = FoodSerializer
model = Food
serializer_class = FoodSerializer
filter_backends = (filters.DjangoFilterBackend,)
filter_fields = ('category',)
это serialier:
class IngredientsValueSerializer(serializers.ModelSerializer):
name = serializers.ReadOnlyField(source='ingredientsAll.name')
class Meta:
model = IngredientsValue
fields = ('pk', 'name', 'value',)
class IngredientsSerializer(serializers.HyperlinkedModelSerializer):
groups = IngredientsValueSerializer(source='ingredientsvalue_set', many=True)
class Meta:
model = Ingredients
fields = ('groups',)
class FoodSerializer(serializers.ModelSerializer):
ingredients = IngredientsSerializer(many=True, read_only=True)
class Meta:
model = Food
fields = ('pk', 'name', 'category', 'portion', 'time', 'image', 'forChild', 'description', 'ingredients',)
Спасибо