【发布时间】:2017-04-23 04:36:53
【问题描述】:
我有一个与用户具有一对一关系的模型。我创建了一个创建模型的表单,但如果再次提交该表单,它会给出“UNIQUE 约束失败”。我怎样才能使数据得到更新而不是尝试创建新数据?
models.py
class Userprofile (models.Model):
user = models.OneToOneField(User, related_name='profile', primary_key=True,)
address = models.CharField(max_length=100)
zip = models.CharField(max_length=100)
forms.py
class Profile(forms.ModelForm):
class Meta:
model = Userprofile
fields = ['address', 'zip']
views.py
def changeprofile(request):
form = Profile(request.POST or None, request.FILES or None)
if form.is_valid():
profile = form.save(commit=False)
profile.user = request.user
profile.save()
return render(request, 'myaccount.html', {"Profile":form})
【问题讨论】:
-
这个问题在stackoverflow.com/questions/36637697/…得到了回答
-
我已经尝试过了,它给了我无效的 int() 字面值,基数为 10:当我尝试 c = Userprofile.objects.get(user= request.user)