Django упорядочивание по количеству связанных моделей
модели
class DesignerProduct(models.Model):
id = models.AutoField(primary_key=True)
title = models.CharField(max_length=500, default=None)
descripton = models.TextField(default=None)
user = models.ForeignKey(
to=Login, on_delete=models.CASCADE, related_name="designerproduct", null=True, blank=True
)
medias = models.ManyToManyField(DesignerProductMedia, related_name='designerproduct', blank=True)
class Views(models.Model):
product = models.ForeignKey(
to=DesignerProduct, on_delete=models.CASCADE, related_name="views", null=True, blank=True
)
user = models.ForeignKey(
to=Login, on_delete=models.CASCADE, related_name="views", null=True, blank=True
)
serializers
class getArtworkSeralizer(serializers.ModelSerializer):
medias = DesignerProductMediaSerializer(many=True, read_only=True)
asset = AssetSerializer(read_only=True)
views = serializers.IntegerField(source="views.count", read_only=True)
class Meta:
model = DesignerProduct
fields = ('id', "user", "views", "thumbnail", "asset", 'medias', 'title', 'drop_start', 'descripton')
просмотров
class getArtworkView(viewsets.ModelViewSet):
queryset = DesignerProduct.objects.all()
serializer_class = getArtworkSeralizer
filter_backends = [filters.OrderingFilter, filters.SearchFilter, DjangoFilterBackend]
filterset_fields = ['verified', 'user', 'collection', 'slug', 'giveaway', 'pre_bid', 'featured', 'serial', 'views']
search_fields = ['title', 'descripton', 'user_id__name', 'categories__title']
ordering_fields = ['id', 'serial', 'created_at']
Здесь я пытаюсь получить порядок по количеству просмотров
вот как я передаю строку запроса
http://127.0.0.1:8000/api/get-artwork/?ordering=views
Но я получаю одну запись с многократным повторением. Это происходит из-за фильтра связанных полей ?
как этого добиться? пожалуйста, посмотрите