2012-01-25 9 views
12

Próbuję użyć ModelForm:Django ModelForm ma klasę modelu określonego

from django.db import models 
from django.forms import ModelForm 

class Car(models.Model): 
    carnumber = models.CharField(max_length=5) 

    def __unicode__(self): 
     return self.carnumber 

class PickForm(ModelForm): 
    class Meta: 
     Model = Car` 

Sprawdziłem to i nie mogę znaleźć mój błąd. Kiedy wywołać widok w przeglądarce, to daje mi następujący błąd:

ModelForm has no model class specified 

Ja testowałem pogląd, że nazywa się model z prostym „foo bar” kodu w tej samej zawartości, ale gdy próbuję ten kod , Otrzymuję błąd klasy powyżej.

Odpowiedz

24

Powinno być model zamiast Model (bez tylnego `, ale myślę, że to literówka):

class PickForm(ModelForm): 
    class Meta: 
     model = Car 
+0

DZIĘKUJEMY !!! i tak, ten tył zwrotny był literówką ... nie w moim kodzie, tylko na stronie. – dpbklyn

+1

Nie chcę być niechętny ani nic, ale czy nie miałoby sensu zaakceptowanie odpowiedzi, która faktycznie ci pomogła? ;-) –

+0

Właśnie, dziękuję – dpbklyn

0

Jeśli jest to kopia i przeszłości, masz literówkę. Gorąco polecam używanie IDE lub coś z sprawdzaniem błędów. Używam Eclipse. To pozwoli zaoszczędzić mnóstwo czasu od takich drobnych przykrości.

class PickForm(ModelForm): 
    class Meta: 
     Model = Car` 

Twoja literówka jest tuż na końcu samochodu. Ta mała rzecz z apostrofem.

+0

Używam geany, sprawdzę Eclipse. – dpbklyn

0

Wystarczy zrobić tę metodę strona będzie działać:

class PickForm(ModelForm): 
    class Meta: 
    model = Car 
    fields = "__all__" 
-1

przegapiłeś podstawowy etap rejestracji model do administratora. Zrób to i to powinno ci pomóc.

W pliku z aplikacją admin.py dodać te linie:

from yourapp.models import yourmodel 
admin.site.register(yourmodel) 

Tutaj yourapp i yourmodel należy zastąpić poprawnych nazw dla swojej aplikacji i modelu.

Powiązane problemy