TypeError: super(type, obj): obj должен быть экземпляром или подтипом типа в Django

У меня есть две формы - userthesisForm и thesisForm - которые имеют одну и ту же модель для сохранения. В основном, форма thesisForm предназначена для администратора, а userthesisForm - для студента (обычного пользователя). Я не сталкиваюсь с проблемой сохранения Администратором формы thesisForm, но я получаю эту ошибку TypeError: super(type, obj): obj must be an instance or subtype of type в моем def submit_thesis для студента, представляющего userthesisForm. Как мне решить эту проблему? Заранее спасибо

Это мой код для сохранения thesisForm в views.py:

def add(request):
if request.method == "POST":  
    form = thesisForm(request.POST, request.FILES)
    if form.is_valid():  
        obj = form.save(commit=False)
        obj.uploader = request.user;
        obj.save()
        messages.success(request, "Project created successfully!" )
        return redirect('/manage')
else:  
    form = thesisForm()
return render(request,'Add.html',{'form':form}, )

Это для сохранения userthesisForm:

def submit_thesis(request):
if request.user.is_superuser:
    return redirect('/manage')

else:
    if request.method == "POST":  
        form = thesisForm(request.POST, request.FILES)
        if form.is_valid():  
            obj = form.save(commit=False)
            obj.uploader = request.user;
            obj.status = 'Pending';
            obj.save()
            messages.success(request, "Project submitted successfully!" )
            return redirect('/myrepository')
    else:  
        form = thesisForm()
    return render(request,'submit_thesis.html',{'form':form}, )

Форма тезиса, которую заполнит студент

class userthesisForm(forms.ModelForm):    

class Meta:
    model = thesisDB
    fields = ('title', 'author', 'published_date','tags','short_description', 'pdf', 'image_banner', 'status')
    readonly_fields = ['course', 'shell_location', 'date_created']
    widgets = {
        'title': forms.TextInput(attrs=
            {'placeholder': 'Title', 'class':'form-control', 'required': 'required'}),
        'published_date': forms.DateInput(attrs=
            {'class':'form-control', 'required': 'required', 'type':'date'}),
        'author': forms.TextInput(attrs=
            {'placeholder': 'Author', 'class':'form-control', 'required': 'required'}),
        'short_description': forms.TextInput(attrs=
            {'placeholder': 'Physical Description', 'class':'form-control', 'required': 'required'}),
    }

def __init__(self, *args, **kwargs):
    super(thesisForm, self).__init__(*args, **kwargs)
    self.fields['pdf'].required = True
    self.fields['tags'].required = True

А вот моя форма диссертации для администратора

class thesisForm(forms.ModelForm):    

class Meta:
    model = thesisDB
    fields = ('title', 'author', 'published_date','tags','short_description', 'pdf', 'image_banner', 'course', 'shell_location', 'status')
    readonly_fields = ['date_created']
    course = forms.ModelChoiceField(queryset=ColCourse.objects.all().order_by('-id'))
    widgets = {
        'title': forms.TextInput(attrs=
            {'placeholder': 'Title', 'class':'form-control', 'required': 'required'}),
        'published_date': forms.DateInput(attrs=
            {'class':'form-control', 'required': 'required', 'type':'date'}),
        'author': forms.TextInput(attrs=
            {'placeholder': 'Author', 'class':'form-control', 'required': 'required'}),
        'short_description': forms.TextInput(attrs=
            {'placeholder': 'Physical Description', 'class':'form-control', 'required': 'required'}),
        'course': forms.Select(attrs=
            {'placeholder': 'Short Description', 'class':'regDropDown', 'required': 'required'}),
        'shell_location': forms.TextInput(attrs=
            {'placeholder': 'Shell Location', 'class':'form-control', 'required': 'required'}),
    }

def __init__(self, *args, **kwargs):
    super(thesisForm, self).__init__(*args, **kwargs)
    # Making location required
    self.fields['pdf'].required = True
    self.fields['tags'].required = True

Это модель:

class thesisDB(Model):
thesis_id = models.AutoField(primary_key=True, blank=True, null=False)
title = models.CharField(max_length=200, blank=True, null=True)
author = models.CharField(max_length=200, blank=True, null=True)
published_date = models.DateField(blank=True, null=True)
short_description = models.CharField(max_length=210,blank=True, null=True)
pdf = models.FileField(upload_to='pdf/', blank=True, null=True, validators=[FileExtensionValidator(['pdf'])],)
image_banner = models.ImageField(upload_to='image/', blank=True, null=True)
course = models.ForeignKey(ColCourse, default=None, on_delete=models.CASCADE, verbose_name='Course')
tags = TaggableManager()
date_created = models.DateField(auto_now_add=True, blank=True, null=True )
shell_location = models.CharField(max_length=200, blank=True, null=True)
uploader = models.ForeignKey(to=settings.AUTH_USER_MODEL, on_delete=models.CASCADE, null=True)
status = models.CharField(max_length=15, blank=True, null=True)
views = models.IntegerField(default=0)
Вернуться на верх