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)