【发布时间】:2013-05-02 18:16:42
【问题描述】:
这是交易,这是我的模型:
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
最重要的是:关系专业/健康计划的智能选择。 用户选择专业。 该专业由一名或多名医生负责。 我使用那些医生 ID,然后去检查 health_plan 表,那里有可用的计划。 用户选择的计划。
我会继续研究,但欢迎任何提示。
我希望我说清楚了。
【问题讨论】: