from django.db import models
from django_dag.models import *
from django_dag import models as dag

Relationship=dag.edge_factory('parts.Part') #must specify appname (in this case: 'parts')

class Part(dag.node_factory(Relationship)):
    part_no = models.CharField(max_length=30, unique=True, db_index=True)
    description = models.TextField(null=True, blank=True)
    date_modified = models.DateTimeField(auto_now=True, auto_now_add=False, null=True, blank=True,)

    def __unicode__(self):
	return u'%s' % (self.part_no)

    class Meta:
        ordering = ['-date_modified']

class BillOfMaterial(models.Model):
    assembly = models.ForeignKey(Part, related_name='bom_assembly', db_index=False)
    subpart = models.ForeignKey(Part, related_name='bom_subpart', db_index=False)
    item = models.IntegerField(max_length=10, null=True, blank=True)
    qty = models.DecimalField(max_digits=10, decimal_places=5)
    order = models.IntegerField(max_length=10, null=True, blank=True)
    depth = models.IntegerField(max_length=10, null=True, blank=True)
 
    def __unicode__(self):
        return u'A:%s P:%s' % (self.assembly_no, self.subpart_no)