Поскольку вы исключили поля created_by
и create_date
в своей форме, попытка назначить их через form.cleaned_data
не имеет никакого смысла.
Вот что вы можете сделать:
Если у вас есть вид, вы можете просто использовать form.save(commit=False)
и затем установить значение 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()
...
...
`
Если вы используете Admin, вы можетепереопределите метод save_model () , чтобы получить желаемый результат.
class LocationAdmin(admin.ModelAdmin):
def save_model(self, request, obj, form, change):
obj.created_by = request.user
obj.save()