здесь в приведенном ниже коде в CreateView нет упоминания о модели, но, поскольку мы упомянули form_class, он автоматически использует класс модели, упомянутый в form_class, который является Book.but, почему он не делает то же самое с представлением Update. в UpdateView, если я удаляю атрибут модели, выдает ошибку:
UpdateBook is missing a QuerySet. Define UpdateBook.model, UpdateBook.queryset, or override UpdateBook.get_queryset().
требуемый код:
models.py:
class Book(models.Model):
name = models.CharField(max_length=50)
picture = models.ImageField()
author = models.CharField(max_length=30, default="Anonymous")
email = models.EmailField(blank=True)
describe = models.TextField(default="Good Book")
def __str__(self):
return self.name
views.py:
class Upload(CreateView):
form_class = BookCreate
template_name = "libraryapp/upload_form.html"
success_url = reverse_lazy('libraryapp:index')
class UpdateBook(UpdateView):
model=Book
form_class = BookCreate
template_name = "libraryapp/upload_form.html"
success_url = reverse_lazy('libraryapp:index')