【发布时间】:2020-08-11 14:29:35
【问题描述】:
我觉得我在这里遗漏了一些明显和相关的语法,所以我提前道歉。
我正在尝试在用户成功处理表单后更新他们的状态。
# Models.py
class Account(AbstractBaseUser):
status_list = ( ('R',"RED"), ('B',"BLUE"), ('G',"GREEN"),)
status = models.CharField(max_length=1, choices=status_list, default='R')
value = models.CharField(max_length=30, unique=False, blank=True)
#Forms.py
class Form(forms.ModelForm):
class Meta:
model = Account
fields = ('value', )
# Views.py
def View(request):
if request.POST:
form = Form(request.POST, instance=request.user)
if form.is_valid():
form.initial = {"value": request.POST['value'],}
form.save()
# Here is the issue V
Account.objects.filter(
status=Account.status).update(status='B')
return redirect('status')
我已经尝试了这两个帖子中提出的解决方案:
1. Editing model field from Views.py
2. Object has no attribute 'update'
以及许多其他随机且极具创意的组合。
有没有人碰巧知道这个调用的正确语法?
【问题讨论】:
-
您显示的代码或您所做的任何其他尝试到底有什么问题?
-
在当前状态下,我没有收到错误消息,但状态未更新。
-
我认为您在更新状态后错过了保存帐户。
标签: python django django-models django-forms django-views