django - 在查询集中添加一个不存在于模型

时间:2018-03-09 15:03:47

标签: python django

我有一个从已有的大学数据库中读取的模型。用户名存储为学生ID。我无法在保存中向数据库添加新列,或者我可以在模型中使用保存功能。

class Student(models.Model):
        student_id = models.IntegerField(db_column = 'Student_ID', primary_key = True)
        statusid = models.IntegerField(db_column = 'StatusID')
        fname = models.CharField(db_column = 'Student_First_Name', max_length = 35)
        lname = models.CharField(db_column = 'Student_Last_Name_Formatted' , max_length = 40)



        class Meta:
            managed = False
            db_table = '[Student]'

我尝试做的是在查询中使用用户名,并将其与另一个umich.edu/student_id字段作为主键进行匹配。

我在一个函数中将请求定义为:

def user_list(request):
    student = Student.objects.all()

通过对表单的POST传递学生的参数到我的模板。

在我发布的下一个视图中

def criteria(request):
    user = request.POST.get('student_id')
    print(user)
    student = CourseCriteria.objects.get(universitystudentid = request.POST.get('student_id'))

我的用户打印/帖子正确地作为学生ID发送,但我需要将umich.edu/添加到查询集中的student_id。如何在不将该字段添加到模型的情况下实现此目的?

1 个答案:

答案 0 :(得分:1)

我不确定你理解你的问题,我认为它不是那么简单:

def criteria(request):
    user = request.POST.get('student_id')
    student = CourseCriteria.objects.get(universitystudentid='umich.edu/%s'%user)