forms.py
20 lines
| 714 B
| text/x-python
|
PythonLexer
|
r2 | from django import forms | |
from .models import Device, Experiment, ExperimentTemplate | |||
def add_empty_choice(choices, pos=0, label='-----'): | |||
if len(choices)>0: | |||
choices = list(choices) | |||
choices.insert(0, (0, label)) | |||
return choices | |||
else: | |||
return [(0, label)] | |||
class ExperimentForm(forms.ModelForm): | |||
class Meta: | |||
model = Experiment | |||
fields = ['name', 'alias', 'start_date', 'end_date'] | |||
class TemplatesForm(forms.Form): | |||
template = forms.ChoiceField(choices=add_empty_choice(ExperimentTemplate.objects.all().values_list('id', 'experiment_detail__experiment__name')), | |||
required=False) | |||