Как автоматически установить поле модели в 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())
Вернуться на верх