У меня есть модель с слагфилдом в качестве первичного ключа.
У меня есть updateview, когда я нажимаю кнопку обновления, это создает новый объект.
Например:
старая запись : название = данные 1
обновить запись : title = data 2
вывод :
- данные 2
- данные 1
models.py
class mymodel(model.Models):
slug = models.SlugField(max_length=200, unique=True, primary_key=True, auto_created=False)
title = models.CharField(max_length=200)
def __str__(self):
return self.title
def save(self, *args, **kwargs):
self.slug = slugify(self.title)
super(mymodel, self).save(*args, **kwargs)
forms.py
class myupdateform(forms.ModelForm):
class Meta:
model = mymodel
fields = ('__all__')
views.py
class myupdateview(generic.UpdateView):
template_name = 'update.html'
model = mymodel
context_object_name = 'mymodel_obj'
form_class = myupdateform
urls.py
path('myupdate/<slug:slug>/edit/', myupdateview.as_view(), name='myupdate')