Как автоматически установить поле модели в CreateView? (Django)
class PetAddView(CreateView):
model = Pet
fields = ['name','animal_type','breed','color','age','height','price','city','sex','photo']
template_name = 'pets/pet-add.html'
Вот мое представление создания.
Моя цель - предоставить представление с функциональностью для создания записи в базе данных. Мне не нужно, чтобы мои пользователи указывали slug, вместо этого мне нужно установить его автоматически из указанного значения "name".
Могу ли я?
Да, вы можете делать абсолютно все в методе form_valid
. Хитрость заключается в
def form_valid( self, form):
instance = form.save( commit = False)
# define the slug and any other programmatically generated fields
instance.slug = whatever
instance.save()
return HttpResponseRedirect( self.get_success_url())