Передача данных из представления в модель Django
Я работаю над тем, как передать данные из представления в модель. Я хочу передать request.user.id из представления в модель через метод save и поместить его в поле created_by.
Вот мои коды view.py:
def dashboardCategoryCreate(request):
form = CategoryForm()
if request.method == 'POST':
form = CategoryForm(request.POST, request.FILES)
form.save(request.user.id) # I Wanto To Pass This Value
return redirect('dashboard-category')
context = {'form': form}
return render(request, 'category/category_form.html', context)
И я пытаюсь перехватить эти данные в models.py и модифицировать поле created_by значением userId
def save(self, userId=None):
self.created_by = userId
super().save()
Ошибки нет, но значение не передается. Как это сделать? Или может есть другой способ сделать это?
Передайте commit=False
в form.save()
, это вернет несохраненный экземпляр, затем вручную установите пользователя на этом экземпляре перед сохранением
form = CategoryForm(request.POST, request.FILES)
if form.is_valid():
category = form.save(commit=False)
category.created_by = request.user
category.save()
return redirect('dashboard-category')