alcatel/document/models.py
changeset 27 8ca7f2cea729
child 37 3848e1813a30
--- /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