Не получается удалить или обновить данные через дефолтные дженерики джанги. Прошу дать конкретный ответ, как можно это решить. Заранее благодарю.
Файлы:
models.py
from django.db import models as md
class City(md.Model):
name = md.CharField(max_length=150, unique=True, verbose_name='Город')
def __str__(self):
return f'{self.name}'
class Meta:
verbose_name = 'Город'
verbose_name_plural = 'Города'
ordering = ['name']
views.py
from cities.models import City
from cities.forms import NewCity
from django.views.generic import ListView
from django.views.generic.detail import DetailView
from django.views.generic.edit import CreateView, UpdateView, DeleteView
from django.urls.base import reverse_lazy
class IndexView(ListView):
model = City
context_object_name = 'cities'
template_name = 'cities/index.html'
class City(DetailView):
queryset = City.objects.all()
context_object_name = 'city'
template_name = 'cities/city.html'
class CreateCity(CreateView):
model = City
form_class = NewCity
template_name = 'cities/create.html'
success_url = reverse_lazy('cities:index')
class UpdateCity(UpdateView):
model = City
form_class = NewCity
template_name = 'cities/update.html'
success_url = reverse_lazy('cities:index')
class DeleteCity(DeleteView):
model = City
template_name = 'cities/delete.html'
success_url = reverse_lazy('cities:index')
urls.py
from django.urls import path
from cities import views
urlpatterns = [
path('', views.IndexView.as_view(), name='index'),
path('city/<int:pk>', views.City.as_view(), name='city'),
path('create/', views.CreateCity.as_view(), name='create'),
path('update/<int:pk>', views.UpdateCity.as_view(), name='update'),
path('delete/<int:pk>', views.DeleteCity.as_view(), name='delete'),
]
При работе c IndexView, City, CreateCity никаких проблем нет (IndexView отображает конкретный список; City - необходимый пункт из спика, CreateCity - создает новую запись, после чего редиректит на основную страницу). При попытке отредактировать или удалить запись появляется одинаковая ошибка.
AttributeError at /cities/delete/22
type object 'City' has no attribute '_default_manager'
AttributeError at /cities/update/22
type object 'City' has no attribute '_default_manager'