繁体   English   中英

Django ORM for SQL SELECT查询

[英]Django ORM for SQL SELECT query

cursor.execute("SELECT id FROM student where name=%s", [s[2]])
student_id = cursor.fetchone()

我的 s[2] 值为 'Jack'

我正在尝试将其转换为 Django ORM,但查询集为空。 你能帮我解决这个问题吗? 我上面查询的 ORM 如下:

student_id = Student.objects.filter(name=s[2]).values_list('id')

在打印 student_id 时,我得到了空的查询集。

<QuerySet []>

我需要获取 s[2] 上出现的学生的 id,在本例中为“Jack”。 谢谢,

你是 model 是你最有可能的罪魁祸首。 默认情况下,django 需要具有以下命名结构_的表。 因此,如果您在名为education的应用程序中有一个名为Student的 model ,则预期的 table_name 将是education_student 似乎您正在使用预先存在的student表,因此您可以执行以下操作来确保Student model 从student表中读取:

from django.db import models

class Student(models.Model):
    name = models.CharField(...)
    ...   # remaining fields

    class Meta:
        db_table = 'student'
        managed = False

通过使用Meta内部类,您可以指定 Student model 应用于检索或存储记录的表的名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM