Подтвердить что ты не робот

Django ModelForm не имеет указанного класса модели

Я пытаюсь использовать ModelForm:

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`

Я проверил это, и я не могу найти свою ошибку. Когда я вызываю представление в браузере, он вызывает следующую ошибку:

ModelForm has no model class specified

Я проверил представление, которое вызывает модель с простым кодом "foo bar" по одному и тому же URL-адресу, но когда я пытаюсь выполнить этот код, я получаю ошибку класса выше.

4b9b3361

Ответ 1

Он должен быть model вместо model (и без конечного `, но я предполагаю, что опечатка):

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

Ответ 2

Просто выполните этот метод, на котором будет работать ваша страница:

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

Ответ 3

Если это копия и прошлое, у вас есть опечатка. Я настоятельно рекомендую вам использовать IDE или что-то с проверкой ошибок. Eclipse - это то, что я использую. Это сэкономит вам массу времени от небольших неприятностей, подобных этому.

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

Ваша опечатка находится прямо на конце автомобиля. Маленькая апострофа.

Ответ 4

I am getting the same error. Following is my code.

from django import forms
from .models import Product

class ProductForm (forms.ModelForm):
    class meta:
        model = Product
        fields = "__all__"

But when i used 

from django import forms
from .models import Product

class ProductForm (forms.Form):
    class meta:
        model = Product
        fields = "__all__"


I am not able to see the form in the view. I can only view the save button.

Here is my view code 

//controller function
def product_detail_view(request):
  form = ProductForm(request.POST or None)

  if form.is_valid():
    print ("valid form")
    form.save() 

  context = {
    'form':form
  }


//product_view.html
<form method="POST"> 
    {{ form.as_p }}  
    <input type="submit" value='save'/> 
</form>

Ответ 5

Вы пропустили базовый шаг регистрации своей модели администратору. Пожалуйста, сделайте это, и это должно сработать для вас.

В файле admin.py вашего приложения добавьте следующие строки:

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

Здесь yourapp и yourmodel необходимо заменить правильными именами для вашего приложения и модели.