Проверьте, соответствует ли пользователь, делающий запрос, подключенному пользователю, внутри "form_valid" django

В настоящее время я пытаюсь улучшить свою форму, я хотел бы проверить, соответствует ли подключенный пользователь пользователю, который публикует данные

возможно ли добавить условие внутри form_valid, чтобы проверить, соответствует ли пользователь из модели пользователю из запроса, прежде чем публиковать форму

Модель:

class Task(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True)
    title = models.CharField(max_length=200, null=True, blank=True)

просмотр :

class TaskUpdate(LoginRequiredMixin, UpdateView):
    model = Task
    template_name = "tasks/task_form.html"
    form_class = DateInputForm

Я уже пытался это сделать :

def form_valid(self, form):

    if self.request.user.is_staff and self.object.user != self.request.user:
        return super().form_valid(form)


    if self.object.user != self.request.user:
        form.add_error(None, "You can't do that")
        return super().form_invalid(form)

также если я не являюсь штатным пользователем, я не могу иметь доступ к входу для выбора пользователей, он назначается автоматически

<form action="" method="post">
    <div style="flex-direction: column">
        {% csrf_token %}

        <div style="margin-bottom: 10px">
            {% if admin %}
                <label for="user">User name : </label>
                {{ form.user }}
            {% endif %}
        </div>

Я также думал сделать sql-запрос, чтобы проверить, соответствует ли пользователь, делающий запрос, пользователю, зарегистрированному для выполнения задания.

на данный момент нет решения

Вам нужно добавить внутри form_valid

  1. name= Task.objects.get(pk=self.object.id)

После этого можно задать условие

  1. if name.user != self.request.user:...

Теперь мы можем проверить, что пользователь, разместивший форму, является ее владельцем

Вернуться на верх