django - Django 自定义查询集不返回任何内容
问题描述
我正在尝试为我的学生资料列表编写一个年级过滤器,但是,查询返回一个空的 []。
这是我的出勤模型、经理和自定义查询集:
class AttendanceQuerySet(models.QuerySet):
def get_yearlevel(self, yearlevel):
return self.filter(BCEID__YearLevel = yearlevel)
class AttendanceManager(models.Manager):
def get_queryset(self):
return AttendanceQuerySet(self.model, using=self._db)
def get_yearlevel(self, yearlevel):
return self.get_queryset().get_yearlevel(yearlevel)
class Attendance(models.Model):
BCEID = models.OneToOneField(StudentProfile,primary_key=True,on_delete=models.CASCADE)
AttendanceRate = models.CharField(max_length=10)
objects = AttendanceManager()
def __unicode__(self):
return self.BCEID
学生档案模型:
class StudentProfile(models.Model):
RelatedPersonName = models.CharField(max_length=10)
RelatedPersonFirstName = models.CharField(max_length=30)
RelatedPersonFamName = models.CharField(max_length=30)
StudentLegalName = models.CharField(max_length=30)
StudentFamName = models.CharField(max_length=30)
Email = models.CharField(max_length=130)
Street1 = models.TextField(max_length=30)
Suburb = models.CharField(max_length=30)
State = models.CharField(max_length=5)
PostCode = models.CharField(max_length=6)
StudentLegalName = models.CharField(max_length=30)
StudentFamName = models.CharField(max_length=30)
StudentNo = models.CharField(primary_key=True,max_length=10)
Class = models.CharField(max_length=6)
YearLevel = models.CharField(max_length=10)
objects = StudentProfileManager()
def __unicode__(self):
return self.StudentNo
和出席列表视图(views.py)
class AttendanceListView(ListView):
model = Attendance
queryset = Attendance.objects.get_yearlevel("Year 8")
我手动查询数据库检查我的代码是否有错误,得到了相同的结果:一个空数组[]。
SQL:
SELECT "student_attendance"."BCEID_id",
"student_attendance"."AttendanceRate"
FROM "student_attendance"
INNER JOIN "student_studentprofile"
ON ("student_attendance"."BCEID_id" = "student_studentprofile"."StudentNo")
WHERE "student_studentprofile"."YearLevel" = 'Year 8'
请让我知道我在这里做错了什么。
解决方案
推荐阅读
- matlab - 如何在Matlab中象征性地得到复杂表达式的虚部和实部?
- php - PHP PDO 查询执行不保存传递的数据
- python-3.x - 如何继续用新的类和数据训练模型?
- java - JavaFX - ReadOnlyProperty 不是只读的
- python - 为什么这个从输入中追加数字的列表理解不起作用?
- php - 我们的 Centos 服务器感染了一些恶意软件。它正在调用随机 IP/域。如何阻止服务器发出外部请求?
- javascript - 使用 laravel/php 循环一个 json
- hyperledger-fabric - 在 hyperledger 结构中使用非管理员卡和 composer-rest-server
- python - 设置对象在套接字模块中没有属性“编码”
- r - 在R中的数据框中旋转行和列