引用Performing a right join in django ,当我尝试类似的方法时(字段略有不同):
class Student:
user = ForeignKey(User)
department = IntegerField()
semester = IntegerField()
class Attendance:
student_attending = ForeignKey(Student, related_name='attendee')
subject = ForeignKey(Subject)
当我运行此查询时:
queryset = Student.objects.all().select_related('attendance_set')
我收到这样的回复:
django.core.exceptions.FieldError: Invalid field name(s) given in select_related: 'attendance_set'.
什么会触发该警告以及如何让“加入”正常工作?
最佳答案
该链接问题的公认答案很简单是错误的 - 作为评论指出。
select_lated
仅适用于正向关系。对于向后的,您需要 prefetch_lated
:
Student.objects.all().prefetch_related('attendance_set')
请注意,这将执行两个单独的查询。
关于python - 在 django 中执行右连接(采取 2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44859312/