我是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)
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
。