У меня есть две модели со многими отношениями с пользовательской таблицей, такой как Clini c и Doctor и пользовательская таблица DoctorClini c. Как я могу получить список врачей на основе клиник? это мой views.py
class ClinicDetailView(generic.DetailView):
model = Clinic
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['doctor_list'] = self.doctor_set.annotate(
shift=F('doctor_list__shift'),
timming=F('doctor_list__timming')
return context
Я получил ошибку объект не имеет атрибут doctor_set вот мой models.py
class Clinic(models.Model):
name = models.CharField(max_length = 256)
area = models.ForeignKey(Area, on_delete=models.CASCADE,default=None,null=True)
city = models.ForeignKey(City, on_delete=models.CASCADE,default=None,null=True)
address = models.TextField()
contact = models.CharField(max_length = 18)
category = models.CharField(max_length=30,choices = CHTYPE)
lat = models.FloatField()
lon = models.FloatField()
class Doctor(models.Model):
name = models.CharField(max_length = 256)
speciality = models.CharField(max_length = 256)
contact = models.CharField(max_length = 12)
speciality = models.ForeignKey(Speciality, on_delete=models.CASCADE)
clinic_hospital = models.ManyToManyField(Clinic, through='DoctorHospital')
class DoctorHospital(models.Model):
clinic = models.ForeignKey(ClinicHospital, on_delete=models.CASCADE)
doctor = models.ForeignKey(Doctor, on_delete=models.CASCADE)
shift = models.CharField(max_length=10)
# time_from = models.DateTimeField(auto_now_add=False,blank=True)
# time_to = models.DateTimeField( auto_now_add=False,blank=True)
timing = models.CharField(max_length=20,blank=True)
и вот мои URL .py
path('clinichospital/<int:pk>/',views.ClinicHospitalDetailView.as_view(),name = 'clinichospital_detail')
Пожалуйста, помогите мне, как я могу показать список врачей.