summaryrefslogtreecommitdiff
path: root/server/objects/models.py
blob: a9471a3aaa385d59269d39ed9ba87c06f018ace9 (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
from django.db import models
from django.forms import ModelForm
from django.contrib.auth.models import User
from django.contrib import admin


class ObjectCategory(models.Model):
	name = models.CharField(max_length=100)
	parent = models.ForeignKey('ObjectCategory', blank=True)	# Hierarchy!

class ObjectFile(models.Model):
	name = models.CharField(max_length=100)
	version = models.IntegerField()
	file = models.FileField(upload_to="uploads/designfiles/")
	prevversion = models.ForeignKey('ObjectFile', blank=True)

class Object(models.Model):
	name = models.CharField(max_length=100)
	description = models.TextField()
	thumbnail = models.FileField(upload_to="uploads/thumbnails/")

	author = models.ForeignKey(User)
	
	categories = models.ManyToManyField(ObjectCategory)
	files = models.ManyToManyField(ObjectFile)


class Product(models.Model):
	# To map product codes (EAN, UPC,...) to objects.
	code = models.CharField(max_length=18, primary_key=True)
	name = models.CharField(max_length=200)
	object = models.ForeignKey(Object, blank=True, null=True)


class Intangible(models.Model):
	# TODO: Define me!
	# Heat, pressure, electricity, manpower,...
	pass


#
#	Object Search Form
#

class ObjectSearchForm(ModelForm):
        class Meta:
                model = Object



admin.site.register(Object)