在Django数据库中插入表单数据
尝试将表单数据插入django数据库时,调用函数在Django数据库中插入表单数据,django,Django,尝试将表单数据插入django数据库时,调用函数save()时出错 form.save()AttributeError:“FormName”对象没有属性“save” 有人能帮我理解为什么这个对象没有属性save吗?表单对象不是ModelForm或Model对象。您对表单调用save()的推测可能是合乎逻辑的,但是,它不会直接与数据库通信 以最简单的方式,如果需要使用Django的ORM插入数据库,则需要创建ModelForm或Model的子类。它们通常映射到单个数据库表。像这样来自: 在Auth
save()
时出错
form.save()AttributeError:“FormName”对象没有属性“save”
有人能帮我理解为什么这个对象没有属性save吗?表单对象不是ModelForm或Model对象。您对表单调用save()的推测可能是合乎逻辑的,但是,它不会直接与数据库通信 以最简单的方式,如果需要使用Django的ORM插入数据库,则需要创建
ModelForm
或Model
的子类。它们通常映射到单个数据库表。像这样来自:
在AuthorForm类中,还可以在meta中指定模型。您可以这样定义模型:
class Author(models.Model):
name = models.CharField(max_length=100)
title = models.CharField(max_length=3, choices=TITLE_CHOICES)
birth_date = models.DateField(blank=True, null=True)
def __str__(self):
return self.name
为了模块化,您应该将上述类
AuthorForm
和Author
保存在两个不同的.py文件中 您没有使用我正在使用form.py和models.py作为模型,并在admin.py中注册我的模型,在该文件中我创建了ModelForm类??更新了我的答案,如果它解决了您的问题,请告诉我。
class Author(models.Model):
name = models.CharField(max_length=100)
title = models.CharField(max_length=3, choices=TITLE_CHOICES)
birth_date = models.DateField(blank=True, null=True)
def __str__(self):
return self.name