При отправке формы на сайте не отправляется id user'а. Django
Помогите с проблемой ОШИБКА: значение NULL в столбце "user_id" отношения "todos_category" нарушает ограничение NOT NULL DETAIL: Ошибочная строка содержит (11, asd, asd, null). forms.py:
class CategoryCreateForm(forms.ModelForm):
class Meta:
model = Category
fields = [
'name',
'description',
]
В fields засунуть user_id я не могу, так как user_id должен автоматически добавляться в форму в зависимости от нынешнего юзера.. Вот только как это сделать я не очень понимаю. views.py:
def category_create(request):
form = CategoryCreateForm()
if request.method == "POST":
form = CategoryCreateForm(request.POST)
if form.is_valid():
form.save()
return redirect("category_list")
context = {'form':form}
return render(request, 'todolist/category_create.html', context)
models.py:
class Category(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
name = models.CharField(max_length=100)
description = models.TextField(blank=True)
null=True в поле я ставить не могу((
Ответы (1 шт):
Автор решения: Za Ars
→ Ссылка
Тогда попробуйте так
def category_create(request):
if not request.user.is_authenticated:
raise Exception('AUTH PLEASE')
form = CategoryCreateForm()
if request.method == "POST":
form = CategoryCreateForm(request.POST)
if form.is_valid():
obj = form.save(commit=False)
obj.user = request.user
obj.save()
form.save_m2m()
return redirect("category_list")
context = {'form':form}
return render(request, 'todolist/category_create.html', context)
Если будет исключение 'AUTH_PLEASE' то надо разбираться с вашей авторизацией