Подстановка id зарегистрированного пользователя в id автора задачи Django
Взята встроенная модель пользователя. Создана модель задачи. По дефолту в задаче автор не указан. Нужно сделать так, чтобы автоматически id авторизованного пользователя ставилось в поле ID автора создаваемой задачи. Создание есть, а вот подстановки id нет
models.py
class Task(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
tag = models.CharField(max_length=120)
text = models.TextField()
to_date = models.DateField(default=timezone.now)
author = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True)
forms.py
class TForm(ModelForm):
class Meta:
model = Task
fields = ['tag','text', 'to_date', 'author']
views.py
def tasks(request):
if request.method == 'GET':
#Вывод задач на странице
tasks = Task.objects.all()
context = {'tasks': tasks}
context = {'tasks': tasks, 'form': TForm()}
return render(request, 'kalendar/tasks.html', context)
if request.method == 'POST':
#Регистрация
task = Task(author=request.user)
form = TForm(data=request.POST, instance=task)
if form.is_valid():
form.save()
messages.success(request, 'Задача поставлена')
return redirect('tasks')
else:
messages.success(request, 'Где-то проблема, поищи ошибку')
return redirect('tasks')
Источник: Stack Overflow на русском