【发布时间】:2016-08-11 05:32:11
【问题描述】:
我是 Django 新手,正在努力理解如何在两个模型之间建立用户可访问的连接。
models.py:
class StudyGroup(models.Model):
start_date = models.DateTimeField()
end_date = models.DateTimeField()
ex_1_trial = models.IntegerField(blank=True, null=True, default=None)
ex_2_trial = models.IntegerField(blank=True, null=True, default=None)
...
def __str__(self):
return self.studygroup_name
class Patient(models.Model):
type = models.CharField('Type', max_length=20, db_index=True, help_text='s', primary_key=True)
patient_name = models.CharField('Name', max_length=200, db_index=True, help_text='n')
studygroup = models.ForeignKey(StudyGroup, verbose_name='StudyGroup')
...
def __str__(self):
return self.patient_name
views.py:
class SidebarList(object):
def get_context_data(self, **kwargs):
context = super(SidebarList, self).get_context_data(**kwargs)
context['my_patient_list'] = Patient.objects.order_by('company_name')
return context
class PatientStatsView(SidebarList, DetailView):
model = Patient
template_name = 'screener/patient_stats.html'
def get_context_data(self, **kwargs):
context = super(CompanyStatsView, self).get_context_data(**kwargs)
... some sorting and stuff here ...
context['blah'] = some_values
return context
现在我想创建一个下拉菜单,其中包含可用研究组的列表,并允许用户在与 PatientStatsView 关联的模板中选择一个与特定患者相关联。如果研究组已与患者实例相关联,则需要在下拉菜单中默认选择该研究组。
我不清楚实现这一点以及验证选择并将其保存在患者模型中的最佳方法。
最好在 form.py 中完成吗?
【问题讨论】:
标签: python django django-templates django-views