![](/img/trans.png)
[英]How to recreate this SQL(ite) query with an inner select and groupby in the Django ORM?
[英]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.