首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"<StudentProfile: None None>":None>必须是"StudentsEnrollmentRecord“实例

"<StudentProfile: None None>":None>必须是"StudentsEnrollmentRecord“实例
EN

Stack Overflow用户
提问于 2019-10-17 13:34:29
回答 1查看 30关注 0票数 0

views.py

代码语言:javascript
复制
    id = request.POST.get('ids')
    studentname = StudentProfile(id=id)

    myfile = request.FILES['myfile']
    fs = FileSystemStorage()
    filename = fs.save(myfile.name, myfile)
    uploaded_file_url = fs.url(filename)
    student = StudentsEnrollmentRecord.Student_Users

    V_insert_data = StudentsEnrollmentRecord(
            Student_Users=studentname, Payment_Type=payment,
            Education_Levels=educationlevel,School_Year=schoolyear
        )
        V_insert_data.save()
        insert_doc = StudentsSubmittedDocument(
            Students_Enrollment_Records = studentname,
            Document = myfile
        )
        insert_doc.save()

    return render(request, 'Homepage/pending.html')

models.py

代码语言:javascript
复制
class StudentProfile(models.Model):
    DoesNotExist = None
    objects = None
    Pending_Request = [
        ('Pending_Request', 'Pending_Request'),
        ('Enrolled', 'Enrolled'),
    ]
    Image = models.ImageField(upload_to='images',null=True,blank=True)
    Username = models.CharField(max_length=500,null=True,blank=True)
    Password = models.CharField(max_length=500,null=True,blank=True)
    LRN = models.IntegerField(null=True,blank=True)
    Firstname = models.CharField(max_length=500,null=True,blank=True)
    Middle_Initial = models.CharField(max_length=500,null=True,blank=True)
    Lastname = models.CharField(max_length=500,null=True,blank=True)

class StudentsEnrollmentRecord(models.Model):
    Student_Users = models.ForeignKey(StudentProfile, related_name='+', on_delete=models.CASCADE,null=True)
    School_Year = models.ForeignKey(SchoolYear, related_name='+', on_delete=models.CASCADE, null=True, blank=True)
    Courses = models.ForeignKey(Course, related_name='+', on_delete=models.CASCADE, null=True, blank=True)

class StudentsSubmittedDocument(models.Model):
    Students_Enrollment_Records = models.ForeignKey(StudentsEnrollmentRecord, related_name='+', on_delete=models.CASCADE,blank=True,null=True)
    Document_Requirements = models.IntegerField(null=True,blank=True)
    Document = models.FileField(upload_to='files',null=True,blank=True)

如何修复此错误?我多次尝试修复这个错误,但我做不到,我不知道如何修复这个错误,我只想将StudentsEnrollmentRecord(Student_Users)保存到StudentsSubmittedDocument(Students_Enrollment_Records),顺便说一句,这是我的错误:

代码语言:javascript
复制
ValueError at /newEnroll/ Cannot assign "": "StudentsSubmittedDocument.Students_Enrollment_Records" must be a "StudentsEnrollmentRecord" instance.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-17 14:09:04

在变量insert_doc中,将Students_Enrollment_Records参数从studentname更改为V_insert_data,因此如下所示:

代码语言:javascript
复制
insert_doc = StudentsSubmittedDocument(
    Students_Enrollment_Records = V_insert_data,
    Document = myfile
)

该错误清楚地表明,您没有将正确的实例分配给您的Students_Enrollment_Records模型中的StudentsSubmittedDocument字段。

PD:我建议您更改ForeignKey字段的名称,并使其为单数,因为它只指向一条记录,而复数名称可能会导致混淆。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58433989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档