Как получить только те элементы ArticleImage, которые соответствуют id автора статьи?

Допустим, пользователь с id "1" создал статью, но пользователь хочет показать в ArticleSerializer только те изображения статьи, которые совпадают с пользовательским id "author" ArticleImage. Зачем мне это делать? Причина в том, что другой пользователь с id "2" может создать ArticleImage для той же статьи, которую создал пользователь с id "1". Как я могу это сделать?

class User(AbstractUser,PermissionsMixin):

    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    email = models.CharField(max_length=255,unique=True)
    username =models.CharField(max_length=40,unique=True,default='undefinedusername')

class Article(models.Model):

    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    author = models.ForeignKey(User,on_delete=models.CASCADE,related_name='articles')
    caption = models.CharField(max_length=250)

class ArticleImage(models.Model):

    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    image = models.FileField(upload_to='images',null=True,blank=True, validators=[validate_file_extension])
    article = models.ForeignKey(Article, on_delete=models.CASCADE,null=True,blank=True, related_name='articleimages')
    author = models.ForeignKey(User,on_delete=models.CASCADE,null=True,blank=True,related_name='articleimages_set')

class ArticleSerializer(serializers.ModelSerializer):
    articleimages_set = ArticleImageSerializer(source='articleimages',required=False,many=True)  

    class Meta:
        model = Article
        fields = ('id','author','caption','articleimages_set')
Вернуться на верх