blob: 4ddac8cb5ec3ae2847a02369278e43992fc0a691 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
from django.db import models
from django.contrib import admin
from objects.models import *
class MaterialCategory(models.Model):
name = models.CharField(max_length=100)
# parent = models.ForeignKey('MaterialCategory')
def __unicode__(self):
return self.name
class MaterialProperty(models.Model):
name = models.CharField(max_length=200)
varname = models.SlugField()
description = models.TextField(blank=True)
# unit = models.ForeignKey(Units)
def __unicode__(self):
return self.name
class MaterialValue(models.Model):
material = models.ForeignKey(u"Material")
property = models.ForeignKey(MaterialProperty)
value = models.FloatField()
def __unicode__(self):
return self.name
class Material(models.Model):
name = models.CharField(max_length=500)
description = models.TextField(blank=True)
categories = models.ManyToManyField(MaterialCategory)
properties = models.ManyToManyField(MaterialValue)
phasediagram = models.FileField(upload_to="uploads/materials/phasediagrams/", blank=True)
datasheet = models.FileField(upload_to="uploads/materials/datasheets/", blank=True)
def __unicode__(self):
return self.name
class Process(models.Model):
name = models.CharField(max_length=200)
description = models.TextField()
inputmaterials = models.ManyToManyField(Material, related_name="%(class)s_inputmat")
inputobjects = models.ManyToManyField(Object, related_name="%(class)s_inputobj")
inputintangibles = models.ManyToManyField(Intangible, related_name="%(class)s_inputintang")
outputmaterials = models.ManyToManyField(Material, related_name="%(class)s_outputmat")
outputobjects = models.ManyToManyField(Object, related_name="%(class)s_outputobj")
outputintangibles = models.ManyToManyField(Intangible, related_name="%(class)s_outputintang")
def __unicode__(self):
return self.name
#
# Forms
#
class MaterialSearchForm(ModelForm):
class Meta:
model = Material
#
# Registering tables with admin site
#
#
admin.site.register(Material)
admin.site.register(MaterialProperty)
admin.site.register(MaterialValue)
admin.site.register(MaterialCategory)
admin.site.register(Process)
|