Я получаю AttributeError в / Issues / У объекта 'WSGIRequest' нет атрибута 'errors', когда я пытаюсь отправить форму Issue and Feedback - PullRequest
0 голосов
/ 11 июня 2019

Позже я создал столбец отзывов в модели UserProfile и создал форму для него только для зарегистрированных пользователей. Кроме того, я создал модель проблемы позже. При нажатии на кнопку «Отправить» выдает вышеуказанную ошибку. Запись обратной связи не сохраняется в записи для ее имени пользователя, вместо этого она создает новую запись с первичным ключом.

models.py

Roles = (
('sales', 'SALES'),
('operations', 'OPERATIONS'),
('cashier', 'CASHIER'),
('frontdesk', 'FRONTDESK'),
('client', 'CLIENT'),

)

class UserProfile(models.Model):
    user = models.OneToOneField(User,on_delete=models.CASCADE, default=None, null=True)
    role = models.CharField(max_length=50, choices=Roles, default='client')
    feedback = models.TextField(default=None, null=True)

    def __str__(self):
        return self.user.username

class Issue(models.Model):
    Issues= (
        ('Centre', 'Issue about Centre'),
        ('Appointment', 'Issue about Appointment'),
        ('Payment', 'Issue about Payment'),
        ('Others', 'Others'),

)
    Issue = models.CharField(max_length=50, choices=Issues, default=None)
    Description = models.TextField()
    username = models.ForeignKey(User, on_delete = models.CASCADE)

    def __str__(self):
        return self.username.username

forms.py (связанные):

class UserProfileInfoForm(forms.ModelForm):

    class Meta():
        model = UserProfile
        fields = ('role',)

class FeedbackForm(forms.ModelForm):
    class Meta():
        model = UserProfile
        fields = ('feedback',)

class IssueForm(forms.ModelForm):

    class Meta():
        model = Issue
        fields = '__all__'

views.py (для вопросов и отзывов):

@login_required
def feedback(request):
    if request.method =='POST':

        form = FeedbackForm(request.POST)
        if form.is_valid():
            form.save(request.POST)
    else:
        form = FeedbackForm()
return render(request, 'NewApp/feedback.html',{'form':form})

@login_required
def issues(request):

    if request.method == 'POST':
        form = IssueForm(request.POST)
        if form.is_valid():
            form = IssueForm.save(request)

    else:
        form = IssueForm()
return render(request, 'NewApp/issues.html',{'form':form})
...