これが契約です、これは私のモデルです:
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 という名前のテーブルがあり、医師には 1 つの専門分野、1 つの場所、1 つの名前、および対象となる健康計画のリストがあります。
これを管理するために、列 (a、b、c) に健康計画を含むテーブルがあります。医師はこのリストで ID によって識別され、行には 1 または 0 が含まれます。1 は健康保険の対象、0 は対象外です。このような:
ID A B C
1 0 0 1
2 1 0 0
3 1 0 1
この関係を作るためのより良い方法はありますか???
ユーザーは最初に専門分野である my form を選択します。
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
重要なのは、専門分野/健康計画の関係をスマートに選択することです。ユーザーは専門分野を選択します。専門分野は、1 人以上の医師によってカバーされています。私はそれらの医師の ID を使用し、利用可能なプランがある health_plan テーブルをチェックします。ユーザーが選択するプランです。
私は研究を続けますが、どんなヒントでも大歓迎です。
私は自分自身を明確にしたことを願っています。