从Django表单在mysql中存储多个复选框

2024-04-25 09:49:31 发布

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

我无法将选中的复选框值发送到mysql数据库。请帮我找出我在代码中遗漏了什么。当我尝试提交表单时,它只是重定向到相同的表单,没有任何错误,并且以同样的方式它没有将值存储在数据库中

视图.py

def personview(request):  
    if request.method == "POST": 
        form =PersonForm(request.POST)
        print(request.POST.getlist('choosetopics[]'))
        if form.is_valid():  
            try:
                form.save()


            except:  
                print("not valid")  
    else:  
        form = PersonForm()  

    return render(request,'person_list.html',{'form':form})

型号.py

class Person(models.Model):
    name = models.ForeignKey(CollegeAttributes, on_delete=models.SET_NULL, null=True)
    domain = models.ForeignKey(Domains, on_delete=models.SET_NULL, null=True)
    choosetopics = models.ForeignKey(domain_topics, on_delete=models.SET_NULL, null=True)

    def __str__(self):
        return self.name

Tags: pyform数据库true表单onmodelsrequest