Treatment Replicate

This commit is contained in:
Matthew Ryan Dillon 2016-02-01 14:59:19 -07:00
parent a8a87f7ddb
commit 6d7242aacc
5 changed files with 80 additions and 21 deletions

View file

@ -1,7 +1,7 @@
from django.contrib import admin
from .models import Flaw, Experiment, ProtocolAttachment, TreatmentType, \
Treatment
Treatment, TreatmentReplicate
class FlawAdmin(admin.ModelAdmin):
@ -50,8 +50,20 @@ class TreatmentAdmin(admin.ModelAdmin):
'sex', 'flaw')
class TreatmentReplicateAdmin(admin.ModelAdmin):
list_display = ('treatment', 'name', 'setup_date', 'setup_time',
'setup_sample_size', 'mass_g', 'flaw')
list_display_links = ('name',)
search_fields = ('treatment', 'name', 'setup_date', 'setup_time',
'setup_sample_size', 'mass_g', 'flaw')
list_per_page = 25
fields = ('treatment', 'name', 'setup_date', 'setup_time',
'setup_sample_size', 'mass_g', 'flaw')
admin.site.register(Flaw, FlawAdmin)
admin.site.register(Experiment, ExperimentAdmin)
admin.site.register(ProtocolAttachment, ProtocolAttachmentAdmin)
admin.site.register(TreatmentType, TreatmentTypeAdmin)
admin.site.register(Treatment, TreatmentAdmin)
admin.site.register(TreatmentReplicate, TreatmentReplicateAdmin)

View file

@ -0,0 +1,31 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('experiments', '0003_treatment'),
]
operations = [
migrations.CreateModel(
name='TreatmentReplicate',
fields=[
('id', models.AutoField(verbose_name='ID', auto_created=True, primary_key=True, serialize=False)),
('name', models.CharField(max_length=50)),
('setup_date', models.DateField(null=True, blank=True)),
('setup_time', models.TimeField(null=True, blank=True)),
('setup_sample_size', models.IntegerField(null=True, blank=True)),
('mass_g', models.FloatField(null=True, blank=True)),
('flaw', models.ForeignKey(null=True, to='experiments.Flaw', blank=True)),
('treatment', models.ForeignKey(to='experiments.Treatment')),
],
),
migrations.AlterUniqueTogether(
name='treatmentreplicate',
unique_together=set([('treatment', 'name', 'setup_date', 'setup_time')]),
),
]

View file

@ -70,3 +70,20 @@ class Treatment(models.Model):
def __str__(self):
return "{} {} {} {}".format(self.treatment_type, self.study_location,
self.species, self.sex)
class TreatmentReplicate(models.Model):
treatment = models.ForeignKey(Treatment)
name = models.CharField(max_length=50)
setup_date = models.DateField(blank=True, null=True)
setup_time = models.TimeField(blank=True, null=True)
setup_sample_size = models.IntegerField(blank=True, null=True)
mass_g = models.FloatField(blank=True, null=True)
flaw = models.ForeignKey(Flaw, blank=True, null=True)
def __str__(self):
return "{} {} {} {}".format(self.treatment, self.name,
self.setup_date, self.setup_sample_size)
class Meta:
unique_together = ('treatment', 'name', 'setup_date', 'setup_time')