2017-05-17 9 views
0

これは私のDjangoを初めて使用したもので、私のプロジェクトではModelFormsの使い方が完全に固まっています。私はこれまでのオンラインチュートリアルに従いましたが、ModelFormsを使わずに(PostgreSQLデータベースにデータを追加するために)、私は先に進むことができません。私は単純にユーザーがいくつかの入力(2つの日付フィールドと1つのテキストフィールド)を追加できるようにフォームページを作成しようとしており、そのフォームを送信することによって、データがデータベースに追加されます。AttributeError:(Class)オブジェクトに属性 '__name__'がありませんModelFormsの作成[Django&Python2.7]

私が取得されているエラーは次のとおりです。 は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を助けてください...

答えて

2

はHyuga_RequestFormクラスの内部クラスのメタモデルをインスタンス化しないでください。

model = Hyuga_Requests()は、フォーム上のモデルを呼び出しているため、エラーが来るmodel = Hyuga_Requests

+1

ありがとうございました。私は最終的にあなたの助けのために働くようになった! – Jasol

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/

+0

ありがとうございました。私は最終的にあなたの助けのために働くようになった! – Jasol

0

モデル= Hyuga_Requests() - > model =ひぐらしレビュー依頼

関連する問題