--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/alcatel/document/models.py Thu Jan 24 16:58:55 2013 +0100
@@ -0,0 +1,96 @@
+
+from django.db import models
+from django.contrib.auth.models import User
+
+'''class User(models.Model):
+ name = models.CharField(max_length=200)
+ password = models.CharField(max_length=200)
+
+ def __unicode__(self):
+ return self.name'''
+
+class Image(models.Model):
+ url = models.CharField(max_length=200)
+
+ def __unicode__(self):
+ return self.url
+
+class Document(models.Model):
+ documentId = models.IntegerField(primary_key=True)
+ title = models.CharField(max_length=200)
+ description = models.CharField(max_length=400)
+ image = models.ForeignKey(Image)
+ date= models.DateTimeField()
+ def __unicode__(self):
+ return str(self.documentId)
+
+class Documentaryfile(models.Model):
+ title = models.CharField(max_length=200)
+ date = models.DateTimeField()
+ description = models.CharField(max_length=400)
+ visibility = models.BooleanField(default=False)
+ list_concepts = models.TextField()
+ concepts_with_detailed_documents_list = models.TextField()
+ image = models.ForeignKey(Image)
+ user = models.ForeignKey(User)
+
+ def __unicode__(self):
+ return str(self.id)
+
+class Annotationdocument(models.Model):
+ description = models.CharField(max_length=200)
+ user = models.ForeignKey(User)
+ document = models.ForeignKey(Document)
+ visibility = models.BooleanField()
+ annoted_text = models.CharField(max_length=200,blank=True,null=True)
+ annoted_text_page = models.IntegerField(blank=True,null=True)
+ annoted_text_offset = models.IntegerField(blank=True,null=True)
+ documentaryfile = models.ForeignKey(Documentaryfile)
+ def __unicode__(self):
+ return self.description
+
+class AnnotationDocumentaryFile(models.Model):
+ description = models.CharField(max_length=200)
+ user = models.ForeignKey(User)
+ documentaryFile = models.ForeignKey(Documentaryfile)
+
+ def __unicode__(self):
+ return self.description
+
+class Cluster(models.Model):
+ title = models.CharField(max_length=200)
+ description = models.CharField(max_length=400)
+ weight = models.FloatField()
+ document = models.ManyToManyField(Document, through="Clusterdocumentweight")
+ documentaryfile = models.ForeignKey(Documentaryfile)
+ image = models.ForeignKey(Image)
+
+ def __unicode__(self):
+ return str(self.id)
+
+class Annotationcluster(models.Model):
+ description = models.CharField(max_length=200)
+ user = models.ForeignKey(User)
+ cluster = models.OneToOneField(Cluster)
+
+ def __unicode__(self):
+ return self.description
+
+class Clusterdocumentweight(models.Model):
+ document = models.ForeignKey(Document)
+ cluster = models.ForeignKey(Cluster)
+ weight = models.FloatField()
+
+ # Le couple cluster/document est unique
+ class Meta:
+ unique_together = ( 'cluster', 'document' )
+
+class Tag(models.Model):
+ value = models.CharField(max_length=50)
+ cluster = models.ForeignKey(Cluster,blank=True,null=True)
+ annotationcluster = models.ForeignKey(Annotationcluster,blank=True,null=True)
+ annotationdocument = models.ForeignKey(Annotationdocument,blank=True,null=True)
+ annotationDocumentaryFile = models.ForeignKey(AnnotationDocumentaryFile,blank=True,null=True)
+ document = models.ForeignKey(Document,blank=True,null=True)
+ def __unicode__(self):
+ return self.value