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、ループなどを試しました。誰かがこれを行うための適切な方法/指示を提供できますか? コードが機能するようになったら、戻ってエラーキャッチを適切にセットアップします。ありがとう!