Я создал простое веб-приложение Django, используя интеграцию django-neomodel . При попытке создать новую книгу, в «http://localhost:8000/book/new" и после ее отправки, я вижу ошибку, как показано в трассировке.
Я искал в Интернете, и в большинстве случаев,Похоже, что ошибки связаны с некоторыми опечатками при указании названия модели или непреднамеренным использованием строк. Я дважды проверил по таким причинам, но не вижу таких проблем в своем коде.
Кроме того, япытался использовать формы, создавая форму и задавая форму в представлениях, а не саму модель. Но я вижу ту же ошибку и в этом случае.
models.py:
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"
urls.py
urlpatterns = [
path('book/new/', BookCreateView.as_view(), name='book-create'),
path('book/<str:pk>/', BookDetailView.as_view(), name='book-detail'),
]
Traceback:
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'
В документации Django говорится, что Django заботится о создании менеджера по умолчанию. Я не уверен, почему эта ошибка генерируется с моим кодом. Любые советы приветствуются. Пожалуйста, помогите. Спасибо!