diff -r 94f586daa623 -r 8ca7f2cea729 alcatel/document/models.py --- /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