Witam StackOverflow,Django: model obiektowy „nie ma atrybutu«_meta»” w związku opartego klasy
pracuję z widokiem na klasy na podstawie i na stronie testowej, I po documentation do konfiguracji widoki oparte klasie . Dla strony projektu (w oparciu o model projektu poniżej), chcę tylko utworzyć szybką aplikację CRUD dla prostego modelu projektu poniżej.
models.py
class Project(models.Manager):
name = models.CharField(_('Name of the Project'), max_length = 100,)
slug = models.SlugField(max_length=100,)
...
views.py
from django.views.generic.edit import CreateView, UpdateView, DeleteView
from django.core.urlresolvers import reverse_lazy
from project.models import Project
class ProjectCreate(CreateView):
model = Project
class ProjectUpdate(UpdateView):
model = Project
Kiedy teraz załadować \project\add
, który powinien zadzwonić klasę ProjectCreate
, pojawia się następujący błąd: typu obiekt "Projekt" nie ma atrybutu "_meta"
Nie rozumiem, dlaczego. Zazwyczaj klasa modelu nie wymaga meta-informacji. W innych projektach opartych na klasach nie napotkałem tego problemu.
Dziękujemy za sugestie!
Traceback
Django Version: 1.4.1
Python Version: 2.7.1
Traceback:
File "/Users/neurix/Development/vir_project_2.0/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
111. response = callback(request, *callback_args, **callback_kwargs)
File "/Users/neurix/Development/vir_project_2.0/lib/python2.7/site-packages/django/views/generic/base.py" in view
48. return self.dispatch(request, *args, **kwargs)
File "/Users/neurix/Development/vir_project_2.0/lib/python2.7/site-packages/django/views/generic/base.py" in dispatch
69. return handler(request, *args, **kwargs)
File "/Users/neurix/Development/vir_project_2.0/lib/python2.7/site-packages/django/views/generic/edit.py" in get
168. return super(BaseCreateView, self).get(request, *args, **kwargs)
File "/Users/neurix/Development/vir_project_2.0/lib/python2.7/site-packages/django/views/generic/edit.py" in get
130. form_class = self.get_form_class()
File "/Users/neurix/Development/vir_project_2.0/lib/python2.7/site-packages/django/views/generic/edit.py" in get_form_class
89. return model_forms.modelform_factory(model)
File "/Users/neurix/Development/vir_project_2.0/lib/python2.7/site-packages/django/forms/models.py" in modelform_factory
407. return form_metaclass(class_name, (form,), form_class_attrs)
File "/Users/neurix/Development/vir_project_2.0/lib/python2.7/site-packages/django/forms/models.py" in __new__
206. opts.exclude, opts.widgets, formfield_callback)
File "/Users/neurix/Development/vir_project_2.0/lib/python2.7/site-packages/django/forms/models.py" in fields_for_model
146. opts = model._meta
Exception Type: AttributeError at /project/add/
Exception Value: type object 'Project' has no attribute '_meta'
Czy brakuje czegoś innego? Ponieważ robię to samo, co zasugerowałeś, nie usuwa to błędu atrybutu. – tilaprimera
Jaki moduł "models.Model" powinien zostać zaimportowany? Jest wiele opcji, ale wydaje się, że mój model niestandardowy nie pasuje do żadnego z nich. – KasparTr