Python Django表单未向数据库提交数据
我已经翻阅了关于这个话题的旧帖子,但像往常一样,没有什么东西适合我。我的问题是数据没有保存。我已经打印了表单,没问题,然后我打印了表单。表单的值为真时有效吗?表单。save()还返回客户对象,所以我现在不知道去哪里查找 (此表单更新用户发货数据) 表格Python Django表单未向数据库提交数据,python,django,Python,Django,我已经翻阅了关于这个话题的旧帖子,但像往常一样,没有什么东西适合我。我的问题是数据没有保存。我已经打印了表单,没问题,然后我打印了表单。表单的值为真时有效吗?表单。save()还返回客户对象,所以我现在不知道去哪里查找 (此表单更新用户发货数据) 表格 class customerUpdate(ModelForm): 类元: 型号=发货地址 字段=[‘城市’、‘国家’、‘邮政编码’、‘地址’、‘电话’、] 排除=[“客户”、“订单”、“添加日期”] 小部件={ “城市”:forms.TextIn
class customerUpdate(ModelForm):
类元:
型号=发货地址
字段=[‘城市’、‘国家’、‘邮政编码’、‘地址’、‘电话’、]
排除=[“客户”、“订单”、“添加日期”]
小部件={
“城市”:forms.TextInput(attrs={'class':'updateForm',}),
'country':forms.TextInput(attrs={'class':'updateForm',}),
'邮政编码':forms.TextInput(attrs={'class':'updateForm',}),
“地址”:forms.TextInput(attrs={'class':'updateForm',}),
'phone':forms.TextInput(attrs={'class':'updateForm',}),
}
型号
类发货地址(models.Model):
customer=models.ForeignKey(customer,on_delete=models.SET_NULL,blank=True,NULL=True)
order=models.ForeignKey(order,on_delete=models.SET_NULL,blank=True,NULL=True)
city=models.TextField(最大长度=50,null=True,blank=True)
country=models.TextField(最大长度=50,null=True,blank=True)
zip_code=models.TextField(最大长度=15,null=True,blank=True)
phone=models.TextField(最大长度=9,null=True,blank=True)
Address=models.TextField(最大长度=100,null=True,blank=True)
date\u added=models.DateTimeField(auto\u now\u add=True)
定义(自我):
返回str(自我地址)
视图
def用户视图(请求):
userData=request.user.customer
forms=customerUpdate(实例=userData)
如果request.method==“POST”:
forms=customerUpdate(request.POST,instance=userData)
如果forms.is_有效():
forms.save()
上下文={
“userData”:userData,
“形式”:形式
}返回呈现(请求,'user.html',上下文)
html
{%loadi18n%}
{%csrf_令牌%}
{{forms.city}
{{forms.country}
{{forms.zip_code}
{{forms.address}
{{forms.phone}
让我们看一下列表。在您的视图中,您是否尝试了userData=request.user
而不是userData=request.user.customer
你也可以试试
if request.method = 'post':
form = customerUpdate(request.data)
if form.is_valid():
form.save(commit=False)
form.customer = request.user
form.save()
....