Many_to_many -> FieldError: Связанное поле получило недопустимый поиск: содержит - PullRequest
0 голосов
/ 26 февраля 2020

У меня есть две две модели: Doctor и Patient. Врач определяется следующим образом:

class Doctor(models.Model):
    patients = ManyToManyField('patients.Patient', related_name="%(class)ss", blank=True)

Я хочу получить всех врачей, у которых есть конкретный c пациент. Я пытался:

doctors = Doctor.objects.filter(patients__contains=patient)

это не похоже на работу ... любая идея?

1 Ответ

1 голос
/ 26 февраля 2020

patients ожидает значение integer , которое не поддерживается для запроса contains

Попробуйте

patient = 1
doctors = Doctor.objects.filter(patients=patient)

или

patients = [1,2,3,4]
doctors = Doctor.objects.filter(patients__in=patients)
...