2012-01-25 3 views
12

Sto cercando di utilizzare ModelForm:Django ModelForm non ha classe del modello specificato

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` 

Ho controllato questo e non riesco a trovare il mio errore. Quando chiamo la vista in un browser, mi dà il seguente errore:

ModelForm has no model class specified 

Ho testato la vista che chiama il modello con codice semplice "foo bar" presso lo stesso URL, ma quando provo questo codice , Ho ricevuto l'errore di classe sopra.

risposta

24

Dovrebbe essere model invece di Model (e senza la finale `, ma credo che sia un errore di battitura):

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

GRAZIE !!! e sì che back-tick era un refuso ... non nel mio codice, solo sul sito. – dpbklyn

+1

Non vuoi essere rancoroso o altro, ma non avrebbe senso accettare la risposta che ti ha effettivamente aiutato? ;-) –

+0

appena fatto, grazie – dpbklyn

0

Se questa è una copia e passato, si dispone di un errore di battitura. Consiglio vivamente di utilizzare un IDE o qualcosa con controllo degli errori. Eclipse è ciò che uso. Ti farà risparmiare un sacco di tempo da piccoli fastidi come questo.

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

Il tuo errore di battitura si trova proprio alla fine di Car. La piccola cosa apostrofo.

+0

Sto usando geany, controllerò Eclipse. – dpbklyn

0

Basta fare questo metodo la tua pagina verrà eseguito:

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

vi siete persi il passo fondamentale della registrazione del modello per l'amministratore. Per favore fallo e quello dovrebbe funzionare per te.

Nel file admin.py della vostra applicazione aggiungere queste righe:

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

Qui yourapp e yourmodel deve essere sostituito con i nomi corretti per la vostra applicazione e il modello.