这是我第一次使用Django,我完全被困在如何在项目中使用ModelForms上。到目前为止,我已经能够遵循在线教程,但是如果没有ModelForms(将数据添加到Postgresql数据库),我就无法继续。我只想创建一个表单页面,让用户添加一些输入(2个datefields和1个textfield),通过提交该表单,数据将被添加到数据库中。
我得到的错误是:
AttributeError:“Hyuga_Requests”对象没有属性“name”[其中Hyuga_Request是models.py中设置的类]
模型.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

视图.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)

表单.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']

请帮帮这个小家伙。。。

最佳答案

不要在Hyuga_RequestForm类的类元中实例化模型。
model = Hyuga_Requests()应该model = Hyuga_Requests

关于python - AttributeError :(类)对象没有属性'__name__'创建ModelForms [Django&Python2.7],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44014250/

10-12 20:59