这是我第一次使用Django,我完全不知道如何在我的项目中使用ModelForms。到目前为止,我已经能够按照在线教程但没有ModelForms(将数据添加到Postgresql数据库中),我无法继续。我试图简单地创建一个表单页面,让用户添加一些输入(2个日期字段和1个文本字段),并通过提交该表单,数据将被添加到数据库中。
我得到的错误是: AttributeError:' Hyuga_Requests'对象没有属性' 名称' [其中Hyuga_Request是models.py中设置的类]
models.py
from __future__ import unicode_literals
from django.db import models
from django.forms import ModelForm
class Hyuga_Requests(models.Model):
name = models.CharField(max_length=50)
s_date = models.DateField(auto_now=True)
e_date = models.DateField(auto_now=True)
reason = models.TextField(max_length=500)
def __unicode__(self):
return self.name
views.py
from django.shortcuts import render
from django import forms
from .forms import Hyuga_RequestForm
def create_req(request):
form = Hyuga_RequestForm()
context = {"form":form,}
return render(request,"request_form/requestform.html", context)
forms.py
from django import forms
from .models import Hyuga_Requests
from django.forms import ModelForm
class Hyuga_RequestForm(forms.ModelForm):
class Meta:
model = Hyuga_Requests()
fields = ['name','s_date','e_date','reason']
请帮助这个noobie ...
答案 0 :(得分:2)
不要在Hyuga_RequestForm类中的类Meta中实例化模型。
model = Hyuga_Requests()
应为model = Hyuga_Requests
答案 1 :(得分:0)
错误的发生是因为您在表单上调用模型。
from django import forms
from .models import Hyuga_Requests
from django.forms import ModelForm
class Hyuga_RequestForm(forms.ModelForm):
class Meta:
model = Hyuga_Requests
fields = ['name','s_date','e_date','reason']
注意:我建议您在python上定义的任何类上使用“_”,您可以在此处查看有关PEP8和代码样式的更多信息:https://www.python.org/dev/peps/pep-0008/
答案 2 :(得分:0)
model = Hyuga_Requests() - > model = Hyuga_Requests