web/hdalab/models/dataviz.py
changeset 266 825ff4d6a8ac
parent 203 00fc169cc6a9
child 267 24ff98f2a122
equal deleted inserted replaced
203:00fc169cc6a9 266:825ff4d6a8ac
     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     class Meta:
       
    63         app_label = 'hdalab'
       
    64         unique_together = ('master', 'language_code')
       
    65 
       
    66 
       
    67 class HdaSession(models.Model):
       
    68     
       
    69     sessionid = models.CharField(max_length=36, unique=True, blank=False, null=False, db_index=True)
       
    70     data = models.TextField(blank=True, null=True)
       
    71     
       
    72     class Meta:
       
    73         app_label = 'hdalab'
       
    74 
       
    75 class InseeCoords(models.Model):
       
    76     
       
    77     insee = models.IntegerField(primary_key=True)
       
    78     city_name = models.CharField(max_length=255, blank=False, null=False)
       
    79     latitude = models.FloatField(blank=False, null=False)
       
    80     longitude = models.FloatField(blank=False, null=False)
       
    81     
       
    82     class Meta:
       
    83         app_label = 'hdalab'
       
    84 
       
    85 class DatasheetExtras(models.Model):
       
    86     
       
    87     datasheet = models.OneToOneField(Datasheet, related_name="extras", db_index=True)
       
    88     insee = models.ForeignKey(InseeCoords, blank=True, null=True, db_index=True)
       
    89     
       
    90     class Meta:
       
    91         app_label = 'hdalab'