- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我收到错误 CreateView 缺少 QuerySet。定义 CreateView.model、CreateView.queryset 或覆盖 CreateView.get_queryset()。
Django 似乎认为我在使用 CreateView 时没有指定模型。但是,我的 View 确实定义了一个模型。
views.py:
from django.views.generic.edit import CreateView
from django.contrib.auth.mixins import PermissionRequiredMixin
from .models import Note
class CreateNoteView(PermissionRequiredMixin, CreateView):
model = Note
permission_required = 'file_manager.can_add_note'
template_name = 'file_manager/note_create.html'
fields = ['title', 'note', 'tags', 'cases', 'people']
Note 模型在 models.py 中:
class Note(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
created = models.DateTimeField(auto_now_add=True, null=True)
updated = models.DateTimeField(auto_now=True, null=True)
title = models.CharField(max_length=60)
note = models.TextField(null=True, blank=True)
tags = models.ManyToManyField(FileManagerTags, related_name='tagged_note_set')
cases = models.ManyToManyField(Case, related_name='related_note_set')
people = models.ManyToManyField(Person, related_name='notes_rel_to_person')
def __str__(self):
return str(self.title)
def get_absolute_url(self):
return reverse('file_manager:note_create', kwargs={'pk': self.pk})
我正在使用的引发错误的测试是:
def test_whether_note_create_view_uses_correct_template(self):
client = Client()
test_superuser = User.objects.get(username=test_superuser_username)
client.force_login(test_superuser)
response = client.get(reverse('file_manager:note_create'), follow=True)
self.assertTemplateUsed(
response=response,
template_name='file_manager/note_index.html'
)
回溯是:
======================================================================
ERROR: test_whether_note_create_view_uses_correct_template (file_manager.tests.test_views.NoteCreateView)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/mint/Python_Projects/[project_name]/file_manager/tests/test_views.py", line 72, in test_whether_note_create_view_uses_correct_template
response = client.get(reverse('file_manager:note_create'))
File "/home/mint/Python_Projects/virtualenvs/[project_name]/lib/python3.4/site-packages/django/test/client.py", line 503, in get
**extra)
File "/home/mint/Python_Projects/virtualenvs/[project_name]/lib/python3.4/site-packages/django/test/client.py", line 304, in get
return self.generic('GET', path, secure=secure, **r)
File "/home/mint/Python_Projects/virtualenvs/[project_name]/lib/python3.4/site-packages/django/test/client.py", line 380, in generic
return self.request(**r)
File "/home/mint/Python_Projects/virtualenvs/[project_name]/lib/python3.4/site-packages/django/test/client.py", line 467, in request
six.reraise(*exc_info)
File "/home/mint/Python_Projects/virtualenvs/[project_name]/lib/python3.4/site-packages/django/utils/six.py", line 686, in reraise
raise value
File "/home/mint/Python_Projects/virtualenvs/[project_name]/lib/python3.4/site-packages/django/core/handlers/base.py", line 149, in get_response
response = self.process_exception_by_middleware(e, request)
File "/home/mint/Python_Projects/virtualenvs/[project_name]/lib/python3.4/site-packages/django/core/handlers/base.py", line 147, in get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/mint/Python_Projects/virtualenvs/[project_name]/lib/python3.4/site-packages/django/views/generic/base.py", line 68, in view
return self.dispatch(request, *args, **kwargs)
File "/home/mint/Python_Projects/virtualenvs/[project_name]/lib/python3.4/site-packages/django/views/generic/base.py", line 88, in dispatch
return handler(request, *args, **kwargs)
File "/home/mint/Python_Projects/virtualenvs/[project_name]/lib/python3.4/site-packages/django/views/generic/edit.py", line 251, in get
return super(BaseCreateView, self).get(request, *args, **kwargs)
File "/home/mint/Python_Projects/virtualenvs/[project_name]/lib/python3.4/site-packages/django/views/generic/edit.py", line 212, in get
return self.render_to_response(self.get_context_data())
File "/home/mint/Python_Projects/virtualenvs/[project_name]/lib/python3.4/site-packages/django/views/generic/edit.py", line 121, in get_context_data
kwargs.setdefault('form', self.get_form())
File "/home/mint/Python_Projects/virtualenvs/[project_name]/lib/python3.4/site-packages/django/views/generic/edit.py", line 73, in get_form
form_class = self.get_form_class()
File "/home/mint/Python_Projects/virtualenvs/[project_name]/lib/python3.4/site-packages/django/views/generic/edit.py", line 152, in get_form_class
model = self.get_queryset().model
File "/home/mint/Python_Projects/virtualenvs/[project_name]/lib/python3.4/site-packages/django/views/generic/detail.py", line 74, in get_queryset
'cls': self.__class__.__name__
django.core.exceptions.ImproperlyConfigured: CreateView is missing a QuerySet. Define CreateView.model, CreateView.queryset, or override CreateView.get_queryset().
我已经运行了 makemigrations 和 migrate。我在 Python 3.4 上使用 Django 1.9。我没有做任何不寻常的事情,而且我以前使用过这个确切的模式没有问题。
编辑
我的 urls.py:
from django.conf.urls import url, include
from . import views
urlpatterns = [
# Note urls
url(r'^note/create', views.CreateView.as_view(), name='note_create'),
url(r'^notes/$', views.NoteIndexView.as_view(), name='note_index'),
]
最佳答案
尝试将 URL 模式更改为:
url(r'^note/create', views.CreateNoteView.as_view(), name='note_create')
为我工作。
关于django.core.exceptions.ImproperlyConfigured : CreateView is missing a QuerySet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35960152/
我正在尝试为 django (1.7) 项目运行一些睾丸。 在项目目录下创建了一个test_models.py目录/tests/ 关于运行测试 >> python tests/test_models.
我正在尝试为 django (1.7) 项目运行一些睾丸。 在项目目录下创建了一个test_models.py目录/tests/ 关于运行测试 >> python tests/test_models.
我正在使用 Pycharm 4 启动一个新的 Django 项目。我已经定义了各种模型,如果我运行这样的测试, from django.test import TestCase from models
这是错误信息: django.core.exceptions.ImproperlyConfigured: The included URLconf '' does not appear to have
自从我学习 Django 以来,我就在 virtualenv 中使用 pip 跟踪了 Django 的安装。当 Django Book 告诉我在 Python shell 中输入这个时, from d
我以前遇到过这个问题,但我设法找到了引用的循环导入。我再次面对它,但我找不到问题。 我的项目名称是“sare”,我的 sare/urls.py 如下所示: from django.contrib im
我正在尝试使用 Pycharm 社区版来改进我的 Django 应用程序中的代码,但我无法运行我想要的所有 Django 代码。我不断收到此回溯... Traceback (most recent c
执行以下命令时出现以下错误 from django.contrib.sessions.models import Session session = Session.objects.get(pk=se
我正在 Heroku 上设置我的 Django 项目。我一直在关注文档,但是当我 foreman start 时,我收到一个我不太明白的错误。我已经设置了我的引擎文件,但它似乎并不想工作。 完整回溯:
在ubuntu ec2节点上安装redis和django后,基于http://michal.karzynski.pl/blog/2013/07/14/using-redis-as-django-ses
我最近搬到了另一台机器上,不得不再次从 subversion 中检查我的项目,但我很确定这台计算机有 Django 1.8,而项目期待 1.7。 我尝试将我的数据库与代码同步以创建必要的表,但出现
我尝试与 peewee 建立 MySQL 连接,并按照他们网站上的教程进行操作: peewee quickstart 所以我的代码如下: from peewee import * db = MySQL
在尝试运行 ./manage.py runserver 或 shell 或任何其他与此相关的命令时,我收到错误:您必须定义“默认”数据库。 我在 virtualenv 中运行它,settings.py
我在我的虚拟机上安装了 Python Social Auth 并尝试运行 makemigrations 并收到此错误: Traceback (most recent call last): Fil
我按照 quickstart guide 中的说明安装和配置了django-admin-tools 的。这些是 settings.py 行: # INSTALLED APPS 'admin_tools
我正在为我的 Django 应用程序编写一个中间件,我从 request.session 获取一个变量,然后必须将它插入到 redis 排序集中。相当直接。 即 import os #os.envir
我的应用程序昨晚运行正常,不知道为什么今天早上就不能运行了。我认为我所做的只是创建一个名为 django 的应用程序来存储我的模型、测试和 View 。 出现此错误,在 OS X 上使用 Heroku
我正在尝试在 heroku 上运行 geodjango 应用程序,我添加了一个构建包以使 gdal 可用 https://github.com/cyberdelia/heroku-geo-buildp
我收到错误 CreateView 缺少 QuerySet。定义 CreateView.model、CreateView.queryset 或覆盖 CreateView.get_queryset()。
我正在尝试使用以下命令运行计划任务: celery -A Htweetprod2 beat 根据 Celery 4.0 文档启动计划任务,此命令应该有效,但我收到此错误: C:\Users\hisg3
我是一名优秀的程序员,十分优秀!