Объект типа 'Task' не имеет атрибута '_meta'
Я начинающий Django и попробовал класс CreateView и получил следующую ошибку: Я не могу найти проблему. ListView и DetailView работают нормально.
Журнал трассировки :
Проверка системы не выявила проблем (0 промолчало). 20 июля, 2022 - 22:38:33 Django версии 3.2.12, использование настроек 'configs.settings' Запуск сервера разработки по адресу http://127.0.0.1:8000/. Выйдите из сервера с помощью CTRL-BREAK. Внутренняя ошибка сервера: /task/create/ Traceback (последний последний вызов): File "C:\Users\mayank.shah.virtualenvs\TASKS1-M_IXiD8r\lib\site-packages\django\core\handlers\exception.py", line 47, in inner response = get_response(request) Файл "C:\Users\mayank.shah.virtualenvs\TASKS1-M_IXiD8r\lib\site-packages\django\core\handlers\base.py", строка 181, в _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) Файл "C:\Users\mayank.shah.virtualenvs\TASKS1-M_IXiD8r\lib\site-packages\django\views\generic\base.py", строка 70, in view return self.dispatch(request, *args, **kwargs) Файл "C:\Users\mayank.shah.virtualenvs\TASKS1-M_IXiD8r\lib\site-packages\django\views\generic\base.py", строка 98, в dispatch return handler(request, *args, **kwargs) Файл "C:\Users\mayank.shah.virtualenvs\TASKS1-M_IXiD8r\lib\site-packages\django\views\generic\edit.py", строка 168, в get return super().get(request, *args, **kwargs) Файл "C:\Users\mayank.shah.virtualenvs\TASKS1-M_IXiD8r\lib\site-packages\django\views\generic\edit.py", строка 133, in get return self.render_to_response(self.get_context_data()) Файл "C:\Users\mayank.shah.virtualenvs\TASKS1-M_IXiD8r\lib\site-packages\django\views\generic\edit.py", строка 66, in get_context_data kwargs['form'] = self.get_form() Файл "C:\Users\mayank.shah.virtualenvs\TASKS1-M_IXiD8r\lib\site-packages\django\views\generic\edit.py", строка 32, in get_form form_class = self.get_form_class() Файл "C:\Users\mayank.shah.virtualenvs\TASKS1-M_IXiD8r\lib\site-packages\django\views\generic\edit.py", строка 101, в get_form_class return model_forms.modelform_factory(model, fields=self.fields) Файл "C:\Users\mayank.shah.virtualenvs\TASKS1-M_IXiD8r\lib\site-packages\django\forms\models.py", строка 563, in modelform_factory return type(form)(class_name, (form,), form_class_attrs) File "C:\Users\mayank.shah.virtualenvs\TASKS1-M_IXiD8r\lib\site-packages\django\forms\models.py", line 261, in new fields = fields_for_model( Файл "C:\Users\mayank.shah.virtualenvs\TASKS1-M_IXiD8r\lib\site-packages\django\forms\models.py", строка 150, in fields_for_model opts = model._meta AttributeError: объект типа 'Task' не имеет атрибута '_meta
модель :
class Task(models.Model):
user =models.ForeignKey(User,on_delete=models.SET_NULL,null=True,blank=True,related_name='usertasks')
title = models.CharField(max_length=200,blank=False, null=False)
description = models.TextField(null=True, blank=True)
complete = models.BooleanField(default=False)
create = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('task-app:task', kwargs={'pk': self.pk})
def __unicode__(self):
return self.title
class Meta:
ordering = ['-create']
просмотр :
class TaskCreate(CreateView):
model = Task
# fields = "__all__"
fields = ('title', 'description')
# fields = ['title']#,'description','completed']
success_url= reverse_lazy('task-app:tasks')
Дорогие все, проблема в том, что Task является ключевым словом и поэтому вызывает проблему. Я переименовал модель в alltask и это решило проблему. Хотя с этим сталкиваются не все, но это может быть полезно, если решение не найдено.