Django, adding excluded properties to the submitted modelform -


i've modelform , excluded 2 fields, create_date , created_by fields. "not null" error when using save() method because created_by empty.

i've tried add user id form before save() method this: form.cleaned_data['created_by'] = 1 , form.cleaned_data['created_by_id'] = 1. none of works.

can explain me how can 'add' additional stuff submitted modelform save?

class location(models.model):     name = models.charfield(max_length = 100)     created_by = models.foreignkey(user)     create_date = models.datetimefield(auto_now=true)  class locationform(forms.modelform):     class meta:         model = location         exclude = ('created_by', 'create_date', ) 

since have excluded fields created_by , create_date in form, trying assign them through form.cleaned_data not make sense.

here can do:

if have view, can use form.save(commit=false) , set value of created_by

def my_view(request):     if request.method == "post":         form = locationform(request.post)         if form.is_valid():             obj = form.save(commit=false)             obj.created_by = request.user             obj.save()         ...         ... 

`

if using admin, can override save_model() method desired result.

class locationadmin(admin.modeladmin):     def save_model(self, request, obj, form, change):         obj.created_by = request.user         obj.save() 

Comments

Popular posts from this blog

objective c - Change font of selected text in UITextView -

php - Accessing POST data in Facebook cavas app -

c# - Getting control value when switching a view as part of a multiview -