这里是这笔交易,这是我的模型: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表有什么计划可用。 用户选择的计划。
我会继续研究,但任何提示都会受到欢迎。
我希望我自己清楚。