ValidationError (Django)

hello я разрабатываю систему с функцией обратной связи, которая захватывает только user_id, однако я сталкиваюсь с ошибкой validationerror, как показано ниже введите описание изображения здесь

вот мой model.py

from django.db import models
from django.conf import settings
User = settings.AUTH_USER_MODEL


class FeedbackMessage(models.Model):
    id = models.AutoField(primary_key=True)
    user_id = models.ForeignKey(User, on_delete=models.CASCADE)
    feedback = models.TextField()
    feedback_reply = models.TextField(null=True)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)
    objects = models.Manager()

view.py

# feedback/views.py
from django.shortcuts import render, redirect
from django.contrib import messages
from accounts.models import User

def feedback_view(request):
    user_obj = User.objects.get(is_superuser=request.user.id)
    feedback_data = FeedBackUser.objects.filter(user_id=user_obj)
    context = {
        "feedback_data": feedback_data
    }
    return render(request, "staff_template/staff_feedback_template.html", context)


@property
def feedback_save(request):
    if request.method != "POST":
        messages.error(request, "Invalid Method.")
        return redirect('feedback')
    else:
        feedback = request.POST.get('feedback_message')
        staff_obj = User.objects.get(is_superuser=request.user.id)

        try:
            add_feedback = FeedBack(user_id=user_obj, feedback=feedback, feedback_reply="")
            add_feedback.save()
            messages.success(request, "Feedback Sent.")
            return redirect('feedback')
        except:
            messages.error(request, "Failed to Send Feedback.")
            return redirect('feedback')

Мне нужно перехватить только идентификатор пользователя, когда он отправляет отзыв, а также отфильтровать нецензурные слова (ругательства) в каждом отправленном отзыве, если таковые встречаются

Вы можете получить идентификатор пользователя просто с помощью request.user.id. Кроме того, is_superuser является булевой функцией. Другими словами, is_superuser будет True, если пользователь является суперпользователем, False в противном случае. Это НЕ id.

Попытка:

def feedback_view(request):
    # REMOVE THIS
    # user_obj = User.objects.get(is_superuser=request.user.id)

    # CHANGE THIS
    # feedback_data = FeedBackUser.objects.filter(user_id=user_obj)
    # TO THIS:
    feedback_data = FeedBackUser.objects.filter(user_id=request.user)

    context = {
        "feedback_data": feedback_data
    }
    return render(request, "staff_template/staff_feedback_template.html", context)
Вернуться на верх