Django AttributeError:type object';书籍';没有属性'_默认管理器';
我使用集成创建了一个简单的Django Webapp。在尝试创建新书时,在“”处以及提交之后,我看到了回溯中显示的错误 我在网上搜索过,在大多数情况下,错误似乎是因为在指定模型名称时出现了一些打字错误,或者无意中使用了字符串。出于这些原因,我进行了双重检查,但在我的代码中看不到任何此类问题 此外,我还尝试使用表单,创建表单并在视图中指定表单,而不是模型本身。但我也看到了同样的错误 models.py:Django AttributeError:type object';书籍';没有属性'_默认管理器';,django,django-models,neo4j,django-views,neomodel,Django,Django Models,Neo4j,Django Views,Neomodel,我使用集成创建了一个简单的Django Webapp。在尝试创建新书时,在“”处以及提交之后,我看到了回溯中显示的错误 我在网上搜索过,在大多数情况下,错误似乎是因为在指定模型名称时出现了一些打字错误,或者无意中使用了字符串。出于这些原因,我进行了双重检查,但在我的代码中看不到任何此类问题 此外,我还尝试使用表单,创建表单并在视图中指定表单,而不是模型本身。但我也看到了同样的错误 models.py: TITLE_MAX_LEN = 100 USERNAME_MAX_LEN = 25 NAME_
TITLE_MAX_LEN = 100
USERNAME_MAX_LEN = 25
NAME_MAX_LEN = 25
class Book(DjangoNode):
custom_pk = UniqueIdProperty()
title = StringProperty(max_length=TITLE_MAX_LEN, unique_index=True, required=True)
description = StringProperty()
difficulty = IntegerProperty()
importance = FloatProperty()
class Meta:
app_label = 'knowledge'
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('book-detail', kwargs={'pk': self.custom_pk})
views.py
class BookCreateView(CreateView):
model = Book
fields = ['title', 'description']
template_name = "knowledge/book_form.html"
class BookDetailView(DetailView):
model = Book
template_name = "knowledge/book_detail.html"
url.py
urlpatterns = [
path('book/new/', BookCreateView.as_view(), name='book-create'),
path('book/<str:pk>/', BookDetailView.as_view(), name='book-detail'),
]
Django文档说明Django负责创建默认管理器。我不确定为什么我的代码会引发此错误。
任何提示,不胜感激。请帮忙。谢谢 这是因为neomodel不包含Django将用于查询这些视图上的数据的默认管理器。NeoModel使用
节点
而不是对象
作为普通模型,这就是为什么会发生这种情况。如何消除所得到的错误?我想知道为什么Django仍然在寻找默认管理器,而我已经指定“DjangoNode”作为基类。是因为使用视图吗?有什么需要修改的吗?为了解决这个问题,我认为您应该创建自己的视图,而不是利用Django提供的视图。在视图中,您必须进行自己的查询,以便通过APIGot与数据交互。非常感谢:)有没有与neomodel兼容的好的views API?就像Django默认提供的一样。我以前没有使用过它,所以我不知道是否有像Django一样支持的库。我做了一些研究,但还没有找到任何项目。
Traceback:
File "/Users/sam/code/website/django_env/lib/python3.7/site-packages/django/core/handlers/exception.py" in inner
34. response = get_response(request)
File "/Users/sam/code/website/django_env/lib/python3.7/site-packages/django/core/handlers/base.py" in _get_response
115. response = self.process_exception_by_middleware(e, request)
File "/Users/sam/code/website/django_env/lib/python3.7/site-packages/django/core/handlers/base.py" in _get_response
113. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/Users/sam/code/website/django_env/lib/python3.7/site-packages/django/views/generic/base.py" in view
71. return self.dispatch(request, *args, **kwargs)
File "/Users/sam/code/website/django_env/lib/python3.7/site-packages/django/views/generic/base.py" in dispatch
97. return handler(request, *args, **kwargs)
File "/Users/sam/code/website/django_env/lib/python3.7/site-packages/django/views/generic/detail.py" in get
106. self.object = self.get_object()
File "/Users/sam/code/website/django_env/lib/python3.7/site-packages/django/views/generic/detail.py" in get_object
30. queryset = self.get_queryset()
File "/Users/sam/code/website/django_env/lib/python3.7/site-packages/django/views/generic/detail.py" in get_queryset
67. return self.model._default_manager.all()
Exception Type: AttributeError at /book/63038803d06f4270b1bf4a738eefe916/
Exception Value: type object 'Book' has no attribute '_default_manager'