這裏是這筆交易,這是我的模型:Django的智能/鏈接選擇manytomanyfield
class Health_plan(models.Model):
a = models.IntegerField()
b = models.IntegerField()
c = models.IntegerField()
class Doctors_list(models.Model):
specialty = models.CharField(max_length=15)
name = models.CharField(max_length=30)
hp_id = models.ManyToManyField(Health_plan)
location = models.CharField(max_length=15)
def __unicode__(self):
return self.name
所以,我有一個名爲Doctors_list表,醫生有一個特色,一個地方,一個名字和一個列表涵蓋的健康計劃。
爲了管理這一點,我有一個表與列(a,b,c)上的健康計劃。醫生通過他們的ID在此列表中被識別,並且行包含1或0,1用於覆蓋健康計劃,0表示未覆蓋。像這樣:
ID A B C
1 0 0 1
2 1 0 0
3 1 0 1
有沒有更好的方法來使這種關係?
用戶首先選擇的專業,我的表格:
class SpecForm(ModelForm):
a = Doctors_list.objects.values_list('specialty', flat=True)
unique = [('---------------','---------------')] + [(i,i) for i in set(a)]
specialty = forms.ChoiceField(choices=unique)
class Meta:
model = Doctors_list
最重要的事情是:一個聰明的選擇了關係專業/ health_plans。 用戶選擇專業。 專業由一名或多名醫生覆蓋。 我使用這些醫生的身份證,並去檢查health_plan表有什麼計劃可用。 用戶選擇的計劃。
我會繼續研究,但任何提示都會受到歡迎。
我希望我自己清楚。