Misc models
- measurement units - measurement types - containers - materials - colors
This commit is contained in:
parent
071126a68b
commit
31a9f87848
9 changed files with 245 additions and 128 deletions
0
ccdb/misc/__init__.py
Normal file
0
ccdb/misc/__init__.py
Normal file
9
ccdb/misc/admin.py
Normal file
9
ccdb/misc/admin.py
Normal file
|
@ -0,0 +1,9 @@
|
|||
from django.contrib import admin
|
||||
|
||||
from .models import MeasurementUnit, MeasurementType, Container, Material, Color
|
||||
|
||||
admin.site.register(MeasurementUnit)
|
||||
admin.site.register(MeasurementType)
|
||||
admin.site.register(Container)
|
||||
admin.site.register(Material)
|
||||
admin.site.register(Color)
|
116
ccdb/misc/migrations/0001_initial.py
Normal file
116
ccdb/misc/migrations/0001_initial.py
Normal file
|
@ -0,0 +1,116 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
import autoslug.fields
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Color',
|
||||
fields=[
|
||||
('id', models.AutoField(primary_key=True, serialize=False, auto_created=True, verbose_name='ID')),
|
||||
('name', models.CharField(max_length=50)),
|
||||
('code', models.CharField(blank=True, max_length=10)),
|
||||
('color_number', models.FloatField(null=True, blank=True)),
|
||||
('sort_order', models.IntegerField(null=True, blank=True)),
|
||||
('slug', autoslug.fields.AutoSlugField(editable=False, populate_from='name')),
|
||||
],
|
||||
options={
|
||||
'ordering': ['sort_order'],
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Container',
|
||||
fields=[
|
||||
('id', models.AutoField(primary_key=True, serialize=False, auto_created=True, verbose_name='ID')),
|
||||
('name', models.CharField(max_length=100)),
|
||||
('code', models.CharField(blank=True, max_length=10)),
|
||||
('application', models.CharField(blank=True, max_length=50)),
|
||||
('volume', models.FloatField(null=True, blank=True)),
|
||||
('sort_order', models.IntegerField(null=True, blank=True)),
|
||||
('slug', autoslug.fields.AutoSlugField(editable=False, populate_from='name')),
|
||||
('color', models.ForeignKey(null=True, to='misc.Color', blank=True)),
|
||||
],
|
||||
options={
|
||||
'ordering': ['sort_order'],
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Material',
|
||||
fields=[
|
||||
('id', models.AutoField(primary_key=True, serialize=False, auto_created=True, verbose_name='ID')),
|
||||
('name', models.CharField(max_length=100)),
|
||||
('code', models.CharField(blank=True, max_length=10)),
|
||||
('material_class', models.CharField(blank=True, max_length=50)),
|
||||
('description', models.CharField(blank=True, max_length=255)),
|
||||
('sort_order', models.IntegerField(null=True, blank=True)),
|
||||
('slug', autoslug.fields.AutoSlugField(editable=False, populate_from='name')),
|
||||
],
|
||||
options={
|
||||
'ordering': ['sort_order'],
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='MeasurementType',
|
||||
fields=[
|
||||
('id', models.AutoField(primary_key=True, serialize=False, auto_created=True, verbose_name='ID')),
|
||||
('name', models.CharField(max_length=100)),
|
||||
('code', models.CharField(blank=True, max_length=10)),
|
||||
('measurement_type_class', models.CharField(blank=True, max_length=50)),
|
||||
('description', models.CharField(blank=True, max_length=255)),
|
||||
('sort_order', models.IntegerField(null=True, blank=True)),
|
||||
('slug', autoslug.fields.AutoSlugField(editable=False, populate_from='name')),
|
||||
],
|
||||
options={
|
||||
'ordering': ['sort_order'],
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='MeasurementUnit',
|
||||
fields=[
|
||||
('id', models.AutoField(primary_key=True, serialize=False, auto_created=True, verbose_name='ID')),
|
||||
('name', models.CharField(max_length=100)),
|
||||
('code', models.CharField(max_length=25)),
|
||||
('unit_class', models.CharField(blank=True, max_length=50)),
|
||||
('description', models.CharField(blank=True, max_length=255)),
|
||||
('sort_order', models.IntegerField(null=True, blank=True)),
|
||||
('slug', autoslug.fields.AutoSlugField(editable=False, populate_from='name')),
|
||||
],
|
||||
options={
|
||||
'ordering': ['sort_order'],
|
||||
},
|
||||
),
|
||||
migrations.AlterUniqueTogether(
|
||||
name='measurementunit',
|
||||
unique_together=set([('name', 'code')]),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='measurementtype',
|
||||
name='default_measurement_unit',
|
||||
field=models.ForeignKey(null=True, to='misc.MeasurementUnit', blank=True),
|
||||
),
|
||||
migrations.AlterUniqueTogether(
|
||||
name='material',
|
||||
unique_together=set([('name', 'code')]),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='container',
|
||||
name='material',
|
||||
field=models.ForeignKey(null=True, to='misc.Material', blank=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='container',
|
||||
name='measurement_unit',
|
||||
field=models.ForeignKey(null=True, to='misc.MeasurementUnit', blank=True),
|
||||
),
|
||||
migrations.AlterUniqueTogether(
|
||||
name='color',
|
||||
unique_together=set([('name', 'code', 'color_number')]),
|
||||
),
|
||||
]
|
0
ccdb/misc/migrations/__init__.py
Normal file
0
ccdb/misc/migrations/__init__.py
Normal file
84
ccdb/misc/models.py
Normal file
84
ccdb/misc/models.py
Normal file
|
@ -0,0 +1,84 @@
|
|||
from django.db import models
|
||||
|
||||
from autoslug import AutoSlugField
|
||||
|
||||
|
||||
class MeasurementUnit(models.Model):
|
||||
name = models.CharField(max_length=100)
|
||||
code = models.CharField(max_length=25)
|
||||
unit_class = models.CharField(max_length=50, blank=True)
|
||||
description = models.CharField(max_length=255, blank=True)
|
||||
sort_order = models.IntegerField(blank=True, null=True)
|
||||
slug = AutoSlugField(populate_from='name')
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
class Meta:
|
||||
unique_together = ('name', 'code')
|
||||
ordering = ['sort_order']
|
||||
|
||||
|
||||
class MeasurementType(models.Model):
|
||||
name = models.CharField(max_length=100)
|
||||
code = models.CharField(max_length=10, blank=True)
|
||||
measurement_type_class = models.CharField(max_length=50, blank=True)
|
||||
description = models.CharField(max_length=255, blank=True)
|
||||
default_measurement_unit = models.ForeignKey('MeasurementUnit', blank=True, null=True)
|
||||
sort_order = models.IntegerField(blank=True, null=True)
|
||||
slug = AutoSlugField(populate_from='name')
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
class Meta:
|
||||
ordering = ['sort_order']
|
||||
|
||||
|
||||
class Material(models.Model):
|
||||
name = models.CharField(max_length=100)
|
||||
code = models.CharField(max_length=10, blank=True)
|
||||
material_class = models.CharField(max_length=50, blank=True)
|
||||
description = models.CharField(max_length=255, blank=True)
|
||||
sort_order = models.IntegerField(blank=True, null=True)
|
||||
slug = AutoSlugField(populate_from='name')
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
class Meta:
|
||||
unique_together = ('name', 'code')
|
||||
ordering = ['sort_order']
|
||||
|
||||
|
||||
class Color(models.Model):
|
||||
name = models.CharField(max_length=50)
|
||||
code = models.CharField(max_length=10, blank=True)
|
||||
color_number = models.FloatField(blank=True, null=True)
|
||||
sort_order = models.IntegerField(blank=True, null=True)
|
||||
slug = AutoSlugField(populate_from='name')
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
class Meta:
|
||||
unique_together = ('name', 'code', 'color_number')
|
||||
ordering = ['sort_order']
|
||||
|
||||
|
||||
class Container(models.Model):
|
||||
name = models.CharField(max_length=100)
|
||||
code = models.CharField(max_length=10, blank=True)
|
||||
application = models.CharField(max_length=50, blank=True)
|
||||
color = models.ForeignKey(Color, blank=True, null=True)
|
||||
material = models.ForeignKey(Material, blank=True, null=True)
|
||||
volume = models.FloatField(blank=True, null=True)
|
||||
measurement_unit = models.ForeignKey(MeasurementUnit, blank=True, null=True)
|
||||
sort_order = models.IntegerField(blank=True, null=True)
|
||||
slug = AutoSlugField(populate_from='name')
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
class Meta:
|
||||
ordering = ['sort_order']
|
|
@ -1,6 +1,4 @@
|
|||
from django.db import models
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.core.urlresolvers import reverse
|
||||
|
||||
from autoslug import AutoSlugField
|
||||
|
||||
|
|
|
@ -7,6 +7,8 @@ import requests
|
|||
|
||||
from ccdb.utils.data_import import setup_sqlite
|
||||
from ccdb.projects.models import Project, Grant, GrantReport
|
||||
from ccdb.misc.models import MeasurementUnit, MeasurementType, Container, \
|
||||
Material, Color
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
|
@ -66,8 +68,39 @@ def _import_data():
|
|||
FROM tbl_lu_grant_reports;
|
||||
'''
|
||||
for r in c.execute(q):
|
||||
g = Grant.objects.get(id=r[0])
|
||||
gr = GrantReport(grant=g, title=r[1], report_type=r[2],
|
||||
gr = GrantReport(grant_id=r[0], title=r[1], report_type=r[2],
|
||||
description=r[3], due_date=r[8], submitted_date=r[5],
|
||||
attachment=r[6], sort_order=r[7])
|
||||
gr.save()
|
||||
|
||||
# Measurement Units
|
||||
for r in c.execute('SELECT * FROM tbl_lu_measurement_units;'):
|
||||
mu = MeasurementUnit(id=r[0], name=r[1], code=r[2],
|
||||
unit_class=r[3], description=r[4], sort_order=r[5])
|
||||
mu.save()
|
||||
|
||||
# Measurement Types
|
||||
for r in c.execute('SELECT * FROM tbl_lu_measurement_types;'):
|
||||
mt = MeasurementType(id=r[0], name=r[1], code=r[2],
|
||||
measurement_type_class=r[3], description=r[4],
|
||||
default_measurement_unit_id=r[5], sort_order=r[6])
|
||||
mt.save()
|
||||
|
||||
# Materials
|
||||
for r in c.execute('SELECT * FROM tbl_lu_materials;'):
|
||||
m = Material(id=r[0], name=r[1], code=r[2], material_class=r[3],
|
||||
description=r[4], sort_order=r[5])
|
||||
m.save()
|
||||
|
||||
# Colors
|
||||
for r in c.execute('SELECT * FROM tbl_lu_colors;'):
|
||||
cl = Color(id=r[0], name=r[1], code=r[2],
|
||||
color_number=r[3], sort_order=r[4])
|
||||
cl.save()
|
||||
|
||||
# Containers
|
||||
for r in c.execute('SELECT * FROM tbl_lu_containers;'):
|
||||
cl = Container(id=r[0], name=r[1], code=r[2], application=r[3],
|
||||
color_id=r[4], material_id=r[5], volume=r[6],
|
||||
measurement_unit_id=r[7], sort_order=r[8])
|
||||
cl.save()
|
||||
|
|
|
@ -40,6 +40,7 @@ LOCAL_APPS = (
|
|||
'ccdb.utils',
|
||||
'ccdb.users', # custom users app
|
||||
'ccdb.projects',
|
||||
'ccdb.misc',
|
||||
)
|
||||
|
||||
# See: https://docs.djangoproject.com/en/dev/ref/settings/#installed-apps
|
||||
|
|
124
misc/existing.py
124
misc/existing.py
|
@ -267,16 +267,6 @@ class TblHashPeopleSets(models.Model):
|
|||
db_table = 'tbl_HASH_People_Sets'
|
||||
|
||||
|
||||
# class TblHashProjectGrants(models.Model):
|
||||
# projectid = models.ForeignKey('TblLuProjects', db_column='ProjectID') # Field name made lowercase.
|
||||
# grantid = models.ForeignKey('TblLuGrants', db_column='GrantID') # Field name made lowercase.
|
||||
#
|
||||
# class Meta:
|
||||
# managed = False
|
||||
# db_table = 'tbl_HASH_Project_Grants'
|
||||
# unique_together = (('ProjectID', 'GrantID'),)
|
||||
|
||||
|
||||
class TblHashTrapSpecies(models.Model):
|
||||
trapspeciesid = models.AutoField(db_column='TrapSpeciesID', primary_key=True) # Field name made lowercase.
|
||||
colltrapid = models.ForeignKey(TblHashCollectionTraps, db_column='CollTrapID') # Field name made lowercase.
|
||||
|
@ -353,19 +343,6 @@ class TblLuCollectionTypes(models.Model):
|
|||
unique_together = (('Collection_Type', 'Collection_Type_Code'),)
|
||||
|
||||
|
||||
class TblLuColors(models.Model):
|
||||
colorid = models.AutoField(db_column='ColorID', primary_key=True) # Field name made lowercase.
|
||||
color = models.CharField(db_column='Color', max_length=50) # Field name made lowercase.
|
||||
color_code = models.CharField(db_column='Color_Code', max_length=10, blank=True, null=True) # Field name made lowercase.
|
||||
msaccess_clr_nbr = models.FloatField(db_column='MSAccess_Clr_Nbr', blank=True, null=True) # Field name made lowercase.
|
||||
sort_order = models.IntegerField(db_column='Sort_Order', blank=True, null=True) # Field name made lowercase.
|
||||
|
||||
class Meta:
|
||||
managed = False
|
||||
db_table = 'tbl_LU_Colors'
|
||||
unique_together = (('Color', 'Color_Code', 'MSAccess_Clr_Nbr'),)
|
||||
|
||||
|
||||
class TblLuCommentTypes(models.Model):
|
||||
comment_typeid = models.AutoField(db_column='Comment_TypeID', primary_key=True) # Field name made lowercase.
|
||||
comment_type = models.CharField(db_column='Comment_Type', max_length=100) # Field name made lowercase.
|
||||
|
@ -378,22 +355,6 @@ class TblLuCommentTypes(models.Model):
|
|||
unique_together = (('Comment_Type', 'Comment_Type_Code'),)
|
||||
|
||||
|
||||
class TblLuContainers(models.Model):
|
||||
containerid = models.AutoField(db_column='ContainerID', primary_key=True) # Field name made lowercase.
|
||||
container_type = models.CharField(db_column='Container_Type', max_length=100) # Field name made lowercase.
|
||||
container_type_code = models.CharField(db_column='Container_Type_Code', max_length=10, blank=True, null=True) # Field name made lowercase.
|
||||
container_type_application = models.CharField(db_column='Container_Type_Application', max_length=50, blank=True, null=True) # Field name made lowercase.
|
||||
colorid = models.ForeignKey(TblLuColors, db_column='ColorID', blank=True, null=True) # Field name made lowercase.
|
||||
materialid = models.ForeignKey('TblLuMaterials', db_column='MaterialID', blank=True, null=True) # Field name made lowercase.
|
||||
volume = models.FloatField(db_column='Volume', blank=True, null=True) # Field name made lowercase.
|
||||
measurement_unitid = models.ForeignKey('TblLuMeasurementUnits', db_column='Measurement_UnitID', blank=True, null=True) # Field name made lowercase.
|
||||
sort_order = models.IntegerField(db_column='Sort_Order', blank=True, null=True) # Field name made lowercase.
|
||||
|
||||
class Meta:
|
||||
managed = False
|
||||
db_table = 'tbl_LU_Containers'
|
||||
|
||||
|
||||
class TblLuExperiments(models.Model):
|
||||
experimentid = models.AutoField(db_column='ExperimentID', primary_key=True) # Field name made lowercase.
|
||||
experiment_name = models.CharField(db_column='Experiment_Name', max_length=150) # Field name made lowercase.
|
||||
|
@ -409,77 +370,6 @@ class TblLuExperiments(models.Model):
|
|||
unique_together = (('Experiment_Name', 'Experiment_Code'),)
|
||||
|
||||
|
||||
# class TblLuGrantReports(models.Model):
|
||||
# grantreportid = models.AutoField(db_column='GrantReportID', primary_key=True) # Field name made lowercase.
|
||||
# grantid = models.ForeignKey('TblLuGrants', db_column='GrantID') # Field name made lowercase.
|
||||
# report_title = models.CharField(db_column='Report_Title', max_length=200) # Field name made lowercase.
|
||||
# report_type = models.CharField(db_column='Report_Type', max_length=50, blank=True, null=True) # Field name made lowercase.
|
||||
# report_short_description = models.CharField(db_column='Report_Short_Description', max_length=255, blank=True, null=True) # Field name made lowercase.
|
||||
# report_due_date = models.DateField(db_column='Report_Due_Date', blank=True, null=True) # Field name made lowercase.
|
||||
# report_submitted_date = models.DateField(db_column='Report_Submitted_Date', blank=True, null=True) # Field name made lowercase.
|
||||
# link_to_report = models.CharField(db_column='Link_To_Report', max_length=255, blank=True, null=True) # Field name made lowercase.
|
||||
# sort_order = models.IntegerField(db_column='Sort_Order', blank=True, null=True) # Field name made lowercase.
|
||||
#
|
||||
# class Meta:
|
||||
# managed = False
|
||||
# db_table = 'tbl_LU_Grant_Reports'
|
||||
|
||||
|
||||
# class TblLuGrants(models.Model):
|
||||
# grantid = models.AutoField(db_column='GrantID', primary_key=True) # Field name made lowercase.
|
||||
# grant_title = models.CharField(db_column='Grant_Title', max_length=200) # Field name made lowercase.
|
||||
# grant_code = models.CharField(db_column='Grant_Code', max_length=10, blank=True, null=True) # Field name made lowercase.
|
||||
# grant_short_description = models.CharField(db_column='Grant_Short_Description', max_length=255, blank=True, null=True) # Field name made lowercase.
|
||||
# sort_order = models.IntegerField(db_column='Sort_Order', blank=True, null=True) # Field name made lowercase.
|
||||
#
|
||||
# class Meta:
|
||||
# managed = False
|
||||
# db_table = 'tbl_LU_Grants'
|
||||
# unique_together = (('Grant_Title', 'Grant_Code'),)
|
||||
|
||||
|
||||
class TblLuMaterials(models.Model):
|
||||
materialid = models.AutoField(db_column='MaterialID', primary_key=True) # Field name made lowercase.
|
||||
material = models.CharField(db_column='Material', max_length=100) # Field name made lowercase.
|
||||
material_code = models.CharField(db_column='Material_Code', max_length=10, blank=True, null=True) # Field name made lowercase.
|
||||
material_class = models.CharField(db_column='Material_Class', max_length=50, blank=True, null=True) # Field name made lowercase.
|
||||
material_short_description = models.CharField(db_column='Material_Short_Description', max_length=255, blank=True, null=True) # Field name made lowercase.
|
||||
sort_order = models.IntegerField(db_column='Sort_Order', blank=True, null=True) # Field name made lowercase.
|
||||
|
||||
class Meta:
|
||||
managed = False
|
||||
db_table = 'tbl_LU_Materials'
|
||||
unique_together = (('Material', 'Material_Code'),)
|
||||
|
||||
|
||||
class TblLuMeasurementTypes(models.Model):
|
||||
measurement_typeid = models.AutoField(db_column='Measurement_TypeID', primary_key=True) # Field name made lowercase.
|
||||
measurement_type = models.CharField(db_column='Measurement_Type', max_length=100) # Field name made lowercase.
|
||||
measurement_type_code = models.CharField(db_column='Measurement_Type_Code', max_length=10, blank=True, null=True) # Field name made lowercase.
|
||||
measurement_type_class = models.CharField(db_column='Measurement_Type_Class', max_length=50, blank=True, null=True) # Field name made lowercase.
|
||||
mtype_short_description = models.CharField(db_column='MType_Short_Description', max_length=255, blank=True, null=True) # Field name made lowercase.
|
||||
default_measurement_unitid = models.ForeignKey('TblLuMeasurementUnits', db_column='Default_Measurement_UnitID', blank=True, null=True) # Field name made lowercase.
|
||||
sort_order = models.IntegerField(db_column='Sort_Order', blank=True, null=True) # Field name made lowercase.
|
||||
|
||||
class Meta:
|
||||
managed = False
|
||||
db_table = 'tbl_LU_Measurement_Types'
|
||||
|
||||
|
||||
class TblLuMeasurementUnits(models.Model):
|
||||
measurement_unitid = models.AutoField(db_column='Measurement_UnitID', primary_key=True) # Field name made lowercase.
|
||||
measurement_unit = models.CharField(db_column='Measurement_Unit', max_length=100) # Field name made lowercase.
|
||||
measurement_unit_code = models.CharField(db_column='Measurement_Unit_Code', max_length=25) # Field name made lowercase.
|
||||
measurement_unit_class = models.CharField(db_column='Measurement_Unit_Class', max_length=50, blank=True, null=True) # Field name made lowercase.
|
||||
munit_short_description = models.CharField(db_column='MUnit_Short_Description', max_length=255, blank=True, null=True) # Field name made lowercase.
|
||||
sort_order = models.IntegerField(db_column='Sort_Order', blank=True, null=True) # Field name made lowercase.
|
||||
|
||||
class Meta:
|
||||
managed = False
|
||||
db_table = 'tbl_LU_Measurement_Units'
|
||||
unique_together = (('Measurement_Unit', 'Measurement_Unit_Code'),)
|
||||
|
||||
|
||||
class TblLuMunicipalLocations(models.Model):
|
||||
municipal_locationid = models.AutoField(db_column='Municipal_LocationID', primary_key=True) # Field name made lowercase.
|
||||
siteid = models.ForeignKey('TblLuSites', db_column='SiteID') # Field name made lowercase.
|
||||
|
@ -536,20 +426,6 @@ class TblLuProcessTypes(models.Model):
|
|||
unique_together = (('Process_Type', 'Process_Type_Code'),)
|
||||
|
||||
|
||||
# class TblLuProjects(models.Model):
|
||||
# projectid = models.AutoField(db_column='ProjectID', primary_key=True) # Field name made lowercase.
|
||||
# project = models.CharField(db_column='Project', max_length=100) # Field name made lowercase.
|
||||
# project_code = models.CharField(db_column='Project_Code', max_length=10, blank=True, null=True) # Field name made lowercase.
|
||||
# iacuc_number = models.CharField(db_column='IACUC_Number', max_length=25, blank=True, null=True) # Field name made lowercase.
|
||||
# project_short_description = models.CharField(db_column='Project_Short_Description', max_length=255, blank=True, null=True) # Field name made lowercase.
|
||||
# sort_order = models.IntegerField(db_column='Sort_Order', blank=True, null=True) # Field name made lowercase.
|
||||
#
|
||||
# class Meta:
|
||||
# managed = False
|
||||
# db_table = 'tbl_LU_Projects'
|
||||
# unique_together = (('Project', 'Project_Code'),)
|
||||
|
||||
|
||||
class TblLuReagents(models.Model):
|
||||
reagentid = models.AutoField(db_column='ReagentID', primary_key=True) # Field name made lowercase.
|
||||
reagent = models.CharField(db_column='Reagent', max_length=100) # Field name made lowercase.
|
||||
|
|
Loading…
Add table
Reference in a new issue