我无法在Django中更改User模型的布尔值

mspsb9vt  于 2023-05-08  发布在  Go
关注(0)|答案(1)|浏览(145)

我试图在Django中将抽象用户模型中的布尔字段从False更改为True,但我做不到。

class User(AbstractUser):
    boolean = models.BooleanField(default=False)
    image = models.ImageField(default='default.jpg', upload_to='profile-pictures', blank=True, null=True)
    ...

    def save(self, *args, **kwargs):
        super().save(*args, **kwargs)

        img = Image.open(self.image.path)

        if img.height > 300 or img.width > 300:
            output_size = (300, 300)
            img.thumbnail(output_size)
            img.save(self.image.path)

def View(request):
    user = request.user
    
    print(user.username)
    user.boolean is True
    print(user.is_vendor)
    user.save()

    return HttpResponseRedirect(reverse('profile'))
0pizxfdo

0pizxfdo1#

您可以使用以下命令保存此文件:

def View(request):
    user = request.user
    print(user.username)
    user.boolean = True
    print(user.is_vendor)
    user.save()
    # …

is运算符仅用于 * 检查 * 两个对象是否相同。很可能user.boolean is True将是False,但它不会为.boolean属性分配任何内容。

相关问题