【发布时间】:2015-11-19 17:43:21
【问题描述】:
我将根据一个外键(在另一个表中)中的字段是否包含字符串来过滤表中的对象。请考虑以下表格:
class Students(models.Model):
StudentID = models.SmallIntegerField(primary_key=True)
Teacher = models.ForeignKey(Teachers)
class Teachers(models.Model):
TeacherID = models.SmallIntegerField(primary_key=True)
TeacherName = models.CharField(max_length=20)
我想要一个教师姓名包含“Sara”的学生查询集。以下代码生成查询集:
student_queryset = Students.objects.all()
for student in student_queryset:
if str(student.Teacher.TeacherName).find('Sara') == -1:
student_queryset = student_queryset.exclude(StudentID = student.StudentID)
问题是这段代码很慢。
【问题讨论】:
标签: database python-3.x django-models