Mam pytanie dotyczące Django REST pełne ramy.Django reszta framework - filtrowanie dla serializera pole
Gdy produkty są renderowane do klienta zdalnego, każdy produkt pobiera dane z przefiltrowanymi danymi.
Na przykład model może być podobny.
class Product(models.Model):
name = models.CharField()
class Like(models.Model):
product = models.ForeignKey(Product, related_name="likes")
Na kliencie, każdy lubi produktu liczy się z prawdziwej wartości, a nie fałszywe.
Próbowałem więc z poniższym kodem w serializatorze.
class ProductSerializer(serializers.ModelSerializer):
likes = serializers.PrimaryKeyRelatedField(many=True, queryset=Like.objects.filter(whether_like=True))
class Meta:
model = Product
fields = ('id', 'name', 'likes')
Ale to nie działa tak, jak chciałem.
Co należy zrobić?
Poniżej przedstawiono dodatkowy kod widoku.
@api_view(['GET'])
def product_list(request, user_id, format=None):
if request.method == 'GET':
products = Product.objects.all()
serializer = ProductSerializer(products, many=True)
return Response(serializer.data)
I .. gdzie mogę zobaczyć dodatkowe odniesienie do tego? –
http://www.django-rest-framework.org/api-guide/fields/#serializermethodfield – mishbah
Byłeś świetną pomocą. Dziękuję Ci!! –