Добавить элемент без определения модели Option Field - PullRequest
0 голосов
/ 02 апреля 2019

У меня есть следующая форма в Django, чтобы использовать ее в фильтре

class TeachersForm (forms.Form):
     teachers = forms.ModelChoiceField (
        required = False,
        queryset = Teachers.objects.all (),
        label = "Teacher"
     )

Модель Учителя

class Docente(model.Models):
    name= model.CharField(max_length=30)
    last_name= model.CharField(max_length=30)

Модель Студент

class Student (model.Models):
    name= model.CharField(max_length=30)
    last_name= model.CharField(max_length=30)
    teacher = models.ForeignKey(Teacher, null=False, blank=False)

Мне нужна опция, чтобы можно было отфильтровать студентов, которые не назначили ни одного учителя, но набор запросов возвращает мне объекты учителей, которые существуют.

Мне нужно сказать, чтобы показать ученикам, где назначенный учитель равен «Неназначенный».

«Неназначенный» должен быть параметром фильтра, который для Django возвращает None

Например:

  • Не назначено
  • Pepito
  • Фулано
  • Sultano

Ответы [ 2 ]

0 голосов
/ 02 апреля 2019
You have made the teacher foreign key as null = False

Model Student 

class Student (model.Models):
    name= model.CharField(max_length=30)
    last_name= model.CharField(max_length=30)
    teacher = models.ForeignKey(Teacher, null=True, blank=True, on_delete=models.PROTECT,)

To get the students who have not assigned any teacher by :
     student_list = Student.objects.filter(teacher__is_null = True)
0 голосов
/ 02 апреля 2019
students = Student.objects.filter(teacher__is_null = True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...