0
模型我有事情,我想型號:疫苗,國家,疾病和藥品。結構在Django
一個疾病的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的AT /疫苗/求/ countryId/3 'ManyRelatedManager' 對象沒有屬性的 'id'。
那麼,如何從COUNTRY_ID到疫苗的名單?
哦,那就這麼簡單。非常感謝:)這是我的第一個Django的應用程序,沒有包裹着我周圍的過濾器參數頭呢。 – dutt 2012-04-27 15:27:00