django - 在 Django 中执行右连接

标签 django orm right-join

这是我的模型

class Student:
    user  = ForeignKey(User)
    department = IntegerField()
    semester = IntegerField()
    ...

class Attendance:
    student = ForeignKey(Student)
    subject = ForeignKey(Subject)
    month = IntegerField()
    year = IntergerField()
    present = IntegerField() 
    total = IntegerField()

students = Student.objects.filter(semester=semester)

如何在 Student 之间执行正确的连接和 Attendance模型,这样我就可以得到
带有所有 students 的查询集和出勤率是否存在于学生,否则为空?

文档提到了左连接但没有提到右连接。

最佳答案

更改表主题的左连接

queryset.query.alias_map['subject'].join_type = "RIGHT OUTER JOIN"

关于django - 在 Django 中执行右连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27510177/

相关文章:

django - 在 Django 应用程序中排除被阻止用户提出的问题的最有效方法

python - 如何删除 Django 模型表单的内置错误列表?

.net - 将 Dapper 添加到企业库?

java - Hibernate Criteria - 日期比较未返回正确结果

python - 使用测试数据库测试 Django 数据库操作脚本

python - Django:在 settings.py 中使用日志记录

java - jackson JSON 和 Hibernate JPA 问题的无限递归

sql - 从旧样式到新样式的加入

MYSQL:限制每个 whereIn() 的行数

mysql - 我可以选择不在 RIGHT JOIN 或 JOIN 中的行吗?