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

Но я получаю одну запись с многократным повторением. Это происходит из-за фильтра связанных полей ?

как этого добиться? пожалуйста, посмотрите

Вернуться на верх