src/hdalab/models/dataviz.py
changeset 271 8f77cf71ab02
parent 240 c8627191f2d7
child 272 1c774f7a0341
equal deleted inserted replaced
265:73f19fa4f997 271:8f77cf71ab02
       
     1 # -*- coding: utf-8 -*-
       
     2 '''
       
     3 Created on Jan 27, 2012
       
     4 
       
     5 @author: ymh
       
     6 '''
       
     7 from django.db import models
       
     8 from hdabo.models import Tag, Datasheet
       
     9 
       
    10 
       
    11 class TagYears(models.Model):
       
    12     
       
    13     tag = models.ForeignKey(Tag, related_name="years", blank=False, null=False, db_index=True)
       
    14     start_year = models.IntegerField(blank=False, null=False, db_index=True)
       
    15     end_year = models.IntegerField(blank=False, null=False, db_index=True)
       
    16     
       
    17     class Meta:
       
    18         app_label = 'hdalab'
       
    19         
       
    20 
       
    21 class TagLinks(models.Model):
       
    22     
       
    23     subject = models.ForeignKey(Tag, blank=False, null=False, db_index=True, related_name="taglinks_subjects")
       
    24     object = models.ForeignKey(Tag, blank=False, null=False, db_index=True, related_name="taglinks_objects")
       
    25     
       
    26     class Meta:
       
    27         app_label = 'hdalab'
       
    28 
       
    29 class Country(models.Model):
       
    30     
       
    31     dbpedia_uri = models.URLField(verify_exists=False, max_length=255, blank=False, null=False, db_index=True, unique=True)
       
    32     
       
    33     class Meta:
       
    34         app_label = 'hdalab'
       
    35 
       
    36 class GeoInclusion(models.Model):
       
    37     
       
    38     tag = models.OneToOneField(Tag, related_name="locatedin", db_index=True)
       
    39     country = models.ForeignKey(Country, blank=False, null=False, related_name="includes", db_index=True)
       
    40     
       
    41     class Meta:
       
    42         app_label = 'hdalab'
       
    43 
       
    44 class DbpediaFields(models.Model):
       
    45 
       
    46     dbpedia_uri = models.URLField(verify_exists=False, max_length=2048, blank=False, null=False, db_index=True, unique=False)
       
    47     tag = models.OneToOneField(Tag, blank=True, null=True, db_index=True, related_name="dbpedia_fields")
       
    48     abstract = models.TextField(blank=True, null=True)
       
    49     thumbnail = models.URLField(verify_exists=False, max_length=2048, blank=True, null=True, db_index=False)    
       
    50     label = models.CharField(max_length=2048, unique=False, blank=True, null=True)
       
    51 
       
    52     class Meta:
       
    53         app_label = 'hdalab'
       
    54 
       
    55 
       
    56 class DbpediaFieldsTranslation(models.Model):
       
    57 
       
    58     master = models.ForeignKey(DbpediaFields, blank=False, null=False, db_index=True, related_name="translations")
       
    59     language_code = models.CharField(max_length=15, blank=False, null=False, db_index=True)
       
    60     label = models.CharField(max_length=2048, unique=False, blank=True, null=False)
       
    61     abstract = models.TextField(blank=True, null=True)
       
    62     is_label_translated = models.BooleanField(default=True)
       
    63     is_abstract_translated = models.BooleanField(default=True)
       
    64     class Meta:
       
    65         app_label = 'hdalab'
       
    66         unique_together = ('master', 'language_code')
       
    67 
       
    68 
       
    69 class HdaSession(models.Model):
       
    70     
       
    71     sessionid = models.CharField(max_length=36, unique=True, blank=False, null=False, db_index=True)
       
    72     data = models.TextField(blank=True, null=True)
       
    73     
       
    74     class Meta:
       
    75         app_label = 'hdalab'
       
    76 
       
    77 class InseeCoords(models.Model):
       
    78     
       
    79     insee = models.IntegerField(primary_key=True)
       
    80     city_name = models.CharField(max_length=255, blank=False, null=False)
       
    81     latitude = models.FloatField(blank=False, null=False)
       
    82     longitude = models.FloatField(blank=False, null=False)
       
    83     
       
    84     class Meta:
       
    85         app_label = 'hdalab'
       
    86 
       
    87 class DatasheetExtras(models.Model):
       
    88     
       
    89     datasheet = models.OneToOneField(Datasheet, related_name="extras", db_index=True)
       
    90     insee = models.ForeignKey(InseeCoords, blank=True, null=True, db_index=True)
       
    91     
       
    92     class Meta:
       
    93         app_label = 'hdalab'