如何从多个字段中删除

问题描述 投票:1回答:1

我是Django初学者。如何从多多字段删除字段。实现我的代码时,我得到了'QuerySet'对象,没有属性'likes'

class Image(models.Model):
    imageuploader_profile=models.ForeignKey(settings.AUTH_USER_MODEL)
    upload_image=models.ImageField()
    likes=models.ManyToManyField(User, related_name='image_likes')


def block_users(request, id)
    user = get_object_or_404(User, id=id)
    images = Image objects.filter(imageuploader_profile=user)
    if images.likes.filter(id=request.user.id).exists():
        images.likes.remove(request.user)
python django
1个回答
0
投票

images不是单个Image对象,它是Image s的集合,因此查询集没有likes对象。但是,您可以从另一端删除图像:

def block_users(request, id)
    images = Image objects.filter(imageuploader_profile_id=id)
    request.user.image_likes.remove(*images)
    # …

Note:假定GET请求not具有副作用,因此将其删除用户发出GET请求时与HTTP不兼容的对象标准。因此,最好通过POST请求删除likes

© www.soinside.com 2019 - 2024. All rights reserved.