У меня есть цепочечные модели отношений, такие как Клини c, Доктор и Специальность Клини c и Доктор имеют отношение M2M, а Доктор имеет идентификатор специальности (внешний ключ). Я фильтрую врачей по местонахождению Clini c (город и область). Это работает, но проблема в том, что doctor_set просто возвращает specialit_id, но я хочу, чтобы название специальности здесь было моим взглядом.
class PlanDoctorListView(generic.DetailView):
model = ClinicHospital
def get(self,request,*args,**kwargs):
clinics = ClinicHospital.objects.get(city_id=kwargs.get('city'),area_id=kwargs.get('area'))
doctors = list(clinics.doctor_set.all().values())
return JsonResponse(doctors,safe=False)
как я могу получить название специальности
здесь - models.py
class Doctor(models.Model):
name = models.CharField(max_length = 256)
contact = models.CharField(max_length = 12)
speciality = models.ForeignKey(Speciality, on_delete=models.CASCADE)
clinic_hospital = models.ManyToManyField(ClinicHospital, through='DoctorHospital')
class Speciality(models.Model):
name = models.CharField(max_length = 256)
code = models.CharField(max_length = 256)
def __str__(self):
return self.name