我需要更新特定用户Django的图像

2024-10-04 03:23:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要更新特定用户Django的图像。现在,如果我更新特定用户的图像,则所有用户的图像都会更新。有什么解决办法吗?这是我的密码:

型号.py

class UserWithImage(models.Model):
    user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)  
    image=models.FileField(upload_to='photos/%Y/%m/%d/',null=True,blank=True)
    def __str__(self):
        return self.user.username

视图.py

if 'imagechange' in request.POST and request.FILES['image']:
    image = request.FILES['image']
    fs = FileSystemStorage()
    image_fs = fs.save(image.name, image)
    image_new = UserWithImage.objects.update(image=image_fs)

html页面

    <form  id='myform' enctype="multipart/form-data" method="POST">
        {% csrf_token %}               
        <input type="file" class="settings__background__file" name="image" enctype="multipart/form-data"  id="backgroundimage" placeholder="Upload image">
    <button id="submit-image" name="imagechange" type="submit"> Upload Image </button>
     </form>

Tags: 用户namepy图像imageformidtrue
1条回答
网友
1楼 · 发布于 2024-10-04 03:23:08

是的,你必须过滤你的查询集。您当前正在更新所有对象

image_new = UserWithImage.objects.filter(user=request.user).update(image=image_fs)

或者,如果您不想更新用户,您可以像这样调用该请求

user = User.objects.get(id=1)
image_new = UserWithImage.objects.filter(user=user).update(image=image_fs)

相关问题 更多 >