0
나는 백신, 국가, 질병 및 의약품과 같은 모델을 만들고 싶습니다.장고 모델의 구조
질병은 N 국가 있는 의학 치료 N 질환 백신은 N 질환
내 기본 검색 방법은 질병 연결을 통해 백신과 의약품 목록, 국가 별 것을 방지입니다.
가 나는이 모델이 할 거라고 생각 :
class Country(models.Model):
name = models.CharField(max_length=100)
def __unicode__(self):
return self.name
class Disease(models.Model):
name = models.CharField(max_length=100)
country = models.ManyToManyField(Country)
def __unicode__(self):
return self.name
class Vaccine(models.Model):
name = models.CharField(max_length=100)
diseases = models.ManyToManyField(Disease, blank=True)
def __unicode__(self):
return self.name
class Medicine(models.Model):
name = models.CharField(max_length=100, blank=True)
diseases = models.ManyToManyField(Disease, blank=True)
def __unicode__(self):
return self.name
그리고이 같은 검색 : 내가 얻을
def vacc_for_country(request, country_id):
diseases = Disease.objects.filter(countries__pk=country_id)
vaccines = Vaccine.objects.filter(id__in=[d.id for d in [v.diseases for v in Vaccine.objects.all()]])
return serialize(vaccines)
하지만이 작동하지 않습니다 AttributeError를에서/백신/seek/countryId/3 'ManyRelatedManager'개체에 'id'속성이 없습니다.
그래서 country_id에서 백신 목록으로 이동하려면 어떻게해야합니까?
아, 그렇게 쉬웠습니다. 고마워요 :) 이것은 제 첫 번째 장고 응용 프로그램입니다. 아직 필터 인수를 머리에 감싸지 않았습니다. – dutt