Я пытаюсь получить записи из таблицы Student, условие состоит в том, что первичный ключ студента не существует в таблице From. (From используется как отношение).
Отношение "студент с кафедры"
Модель:
class Student(models.Model):
name = models.CharField(max_length=20)
password = models.CharField(max_length=30)
phone_no = PhoneNumberField(null=False, blank=False, unique=True)
email = models.EmailField()
pic_location = models.FileField()
username = models.CharField(max_length=30)
class From(models.Model):
s = models.ForeignKey(Student, on_delete=models.PROTECT)
d = models.ForeignKey(Department,on_delete=models.PROTECT)
class Department(models.Model):
name = models.CharField(max_length=20)
password = models.CharField(max_length=30)
phone_no = PhoneNumberField(null=False, blank=False, unique=True)
email = models.EmailField()
Я пытаюсь получить эти записи в виде списка. И, пожалуйста, проверьте, насколько хорошо в этом случае я получаю переменную сеанса ??
class PendingStudent(ListView):
# Students pending for department approval
context_object_name = 'pending_students'
model = From
template_name = "admin_panel/department/student_detail.html"
def get_queryset(self):
department = self.request.session.get('username')
return From.objects.filter(~Q(d__name==department))
Я использовал сеанс, чтобы сохранить тип пользователя, вошедшего в систему (студент / учитель / отдел).