Как отфильтровать внешний ключ
Здравствуйте, у меня есть две таблицы одна StudentData и другая Enrollment. Ниже приведены коды для них
class StudentData(models.Model):
user = models.OneToOneField(CustomUser,on_delete=models.CASCADE)
student_name = models.CharField(max_length=30, default=1)
department = models.ForeignKey(Department,on_delete=models.CASCADE)
program = models.ForeignKey(Program, on_delete=models.CASCADE)
is_admitted = models.BooleanField(default=True)
is_closed = models.BooleanField(default=False)
class Enrollment(models.Model):
student = models.ForeignKey(StudentData,on_delete=models.CASCADE)
faculty = models.ForeignKey(TeachingSemester,on_delete=models.CASCADE)
Когда студент входит в систему, сайт показывает данные согласно зарегистрированному пользователю, ниже приведен код
log_user = request.user
student_information = StudentData.objects.filter(user=log_user)
Что я могу сделать, чтобы Enrollment только logged in отображался на странице?
Для фильтрации по студентам:
log_user = request.user
student_information = StudentData.objects.filter(user=log_user)
enrollments = Enrollment.objects.filter(student=student_information)
Если вы предпочитаете получать Enrollment
s по пользователям, вы также можете сделать:
log_user = request.user
enrollments = Enrollment.objects.filter(student__user=log_user)