0

django/プログラミングは初めてですが、どんな助けでも大歓迎です。医師の予約の履歴をたどり、各予約で実行された予防接種を選択し、(予防接種の適切な間隔を持ち、増分する予防接種情報テーブルに基づいて)将来の予防接種の期日を作成するのに助けが必要です訪問日から)

models.py

class Immunizations(models.Model):
    immunization = models.CharField(max_length=100, null=True)
    interval = models.CharField(max_length=5, null=True)**This should probably be an integer field, will change later

class Visit(models.Model):
    patient = models.ForeignKey(Patients)
    date_of_visit = models.DateField(null=True)
    weight = models.CharField(max_length=5, null=True)
    immunization = models.ManyToManyField(Immunizations)
    timestamp = models.DateTimeField(auto_now_add=True, default=datetime.datetime.now())
    active = models.BooleanField(default=True)

私は週末中 SO に関するドキュメントと質問を読んできましたが、これをどのように行うかについてまだ非常に矛盾しています。

私が欲しいのは:

Visit.date_of_visit1
    Visit.immunization1, Visit.date_of_visit1 + Immunization.interval1
    Visit.immunization2, Visit.date_of_visit1 + Immunization.interval2
Visit.date_of_visit2
    Visit.immunization1, Visit.date_of_visit2 + Immunization.interval1
ETC

これは何年も続く可能性があり、訪問ごとに異なる予防接種が行われます. 予定日を過ぎても、どの予防接種をしたか、予定日を記録しておきたい。

ビュー.py

def visit_profile(request, slug):
    patient = Patients.objects.get(slug=slug)
    try:
            visit = Visit.objects.filter(patient_id=patient.id)
    except:
        return HttpResponseRedirect('/')

    #Immunization Due Dates
    visitdate = Visit.objects.get(patient_id=patient.id, active=1).date_of_visit
    imm = Immunizations.objects.all()
    visitimm = []
    for immunization in imm:
        due = Immunizations.objects.get(id= immunization.pk)
        duedate = visitdate + timedelta(days=int(due.interval))
        visitimm.append((due, duedate))
    return render_to_response('patient.html',locals(), context_instance=RequestContext(request))

私の views.py について助けが必要です。上記は機能しますが、active=1 の訪問情報を表示する場合のみです。目的を達成し、テンプレート ファイル内のデータにアクセスできるようにするための変更/やり直しの方法がわかりません。私は __in メソッド、itertools、ループなどを試しました。誰かがこれを行うための適切な方法/指示を提供できますか? コードが機能するようになったら、戻ってエラーキャッチを適切にセットアップします。ありがとう!

4

1 に答える 1