src/jocondelab/models/contribution.py
author ymh <ymh.work@gmail.com>
Mon, 07 Oct 2013 10:39:31 +0200
changeset 134 500e8af5c1e5
parent 113 c0d1d15130b3
child 334 169b7cfd1f58
permissions -rw-r--r--
BUMP VERSION NUMBER
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
101
19de76fe00a9 Added contribution
veltr
parents:
diff changeset
     1
# -*- coding: utf-8 -*-
19de76fe00a9 Added contribution
veltr
parents:
diff changeset
     2
'''
19de76fe00a9 Added contribution
veltr
parents:
diff changeset
     3
Created on Jul 31, 2013
19de76fe00a9 Added contribution
veltr
parents:
diff changeset
     4
19de76fe00a9 Added contribution
veltr
parents:
diff changeset
     5
@author: ymh
19de76fe00a9 Added contribution
veltr
parents:
diff changeset
     6
'''
19de76fe00a9 Added contribution
veltr
parents:
diff changeset
     7
from django.db import models
110
597fa9d09973 Added Term List View
veltr
parents: 108
diff changeset
     8
from core.models import Thesaurus, Notice, Term
101
19de76fe00a9 Added contribution
veltr
parents:
diff changeset
     9
19de76fe00a9 Added contribution
veltr
parents:
diff changeset
    10
class ContributedTerm(models.Model):
19de76fe00a9 Added contribution
veltr
parents:
diff changeset
    11
    
19de76fe00a9 Added contribution
veltr
parents:
diff changeset
    12
    created_at = models.DateTimeField(auto_now_add=True)
19de76fe00a9 Added contribution
veltr
parents:
diff changeset
    13
    dbpedia_uri = models.URLField(max_length=2048, unique=True, blank=False, null=False, db_index=True)
19de76fe00a9 Added contribution
veltr
parents:
diff changeset
    14
    dbpedia_language = models.CharField(max_length=15, blank=False, null=False, db_index=True)
19de76fe00a9 Added contribution
veltr
parents:
diff changeset
    15
19de76fe00a9 Added contribution
veltr
parents:
diff changeset
    16
    class Meta:
19de76fe00a9 Added contribution
veltr
parents:
diff changeset
    17
        app_label = 'jocondelab'
110
597fa9d09973 Added Term List View
veltr
parents: 108
diff changeset
    18
    
597fa9d09973 Added Term List View
veltr
parents: 108
diff changeset
    19
    def __unicode__(self):
597fa9d09973 Added Term List View
veltr
parents: 108
diff changeset
    20
        return self.dbpedia_uri
101
19de76fe00a9 Added contribution
veltr
parents:
diff changeset
    21
19de76fe00a9 Added contribution
veltr
parents:
diff changeset
    22
class ContributedFields(models.Model):
19de76fe00a9 Added contribution
veltr
parents:
diff changeset
    23
    
19de76fe00a9 Added contribution
veltr
parents:
diff changeset
    24
    term = models.ForeignKey(ContributedTerm, blank=False, null=False, db_index=True, related_name="dbpedia_fields")
19de76fe00a9 Added contribution
veltr
parents:
diff changeset
    25
    dbpedia_uri = models.URLField(max_length=2048, blank=False, null=False, db_index=True, unique=False)
19de76fe00a9 Added contribution
veltr
parents:
diff changeset
    26
    language_code = models.CharField(max_length=15, blank=False, null=False, db_index=True)
19de76fe00a9 Added contribution
veltr
parents:
diff changeset
    27
    thumbnail = models.URLField(max_length=2048, blank=True, null=True, db_index=False)    
19de76fe00a9 Added contribution
veltr
parents:
diff changeset
    28
    label = models.CharField(max_length=2048, unique=False, blank=True, null=True)
19de76fe00a9 Added contribution
veltr
parents:
diff changeset
    29
    abstract = models.TextField(blank=True, null=True)
19de76fe00a9 Added contribution
veltr
parents:
diff changeset
    30
    
19de76fe00a9 Added contribution
veltr
parents:
diff changeset
    31
    class Meta:
19de76fe00a9 Added contribution
veltr
parents:
diff changeset
    32
        app_label = 'jocondelab'
110
597fa9d09973 Added Term List View
veltr
parents: 108
diff changeset
    33
    
597fa9d09973 Added Term List View
veltr
parents: 108
diff changeset
    34
    def __unicode__(self):
597fa9d09973 Added Term List View
veltr
parents: 108
diff changeset
    35
        return u'"%s"@%s'%(self.label, self.language_code)
101
19de76fe00a9 Added contribution
veltr
parents:
diff changeset
    36
19de76fe00a9 Added contribution
veltr
parents:
diff changeset
    37
class Contribution(models.Model):
19de76fe00a9 Added contribution
veltr
parents:
diff changeset
    38
    
19de76fe00a9 Added contribution
veltr
parents:
diff changeset
    39
    term = models.ForeignKey(ContributedTerm, blank=False, null=False, db_index=True, related_name="contributions")
108
c0d227e8b0c4 Changes for contribution
veltr
parents: 101
diff changeset
    40
    thesaurus = models.ForeignKey(Thesaurus, blank=True, null=True, db_index=True)
101
19de76fe00a9 Added contribution
veltr
parents:
diff changeset
    41
    notice = models.ForeignKey(Notice, blank=False, null=False, db_index=True)
19de76fe00a9 Added contribution
veltr
parents:
diff changeset
    42
    contribution_count = models.IntegerField(blank=False, null=False, default=0, db_index=True, editable=False)
19de76fe00a9 Added contribution
veltr
parents:
diff changeset
    43
    
19de76fe00a9 Added contribution
veltr
parents:
diff changeset
    44
    class Meta:
19de76fe00a9 Added contribution
veltr
parents:
diff changeset
    45
        app_label = 'jocondelab'
110
597fa9d09973 Added Term List View
veltr
parents: 108
diff changeset
    46
        
597fa9d09973 Added Term List View
veltr
parents: 108
diff changeset
    47
    def __unicode__(self):
113
c0d1d15130b3 Added contribution and about
veltr
parents: 110
diff changeset
    48
        return u'%s, %s, %s'%((self.notice.titr or self.notice.deno),self.term.dbpedia_uri,(self.thesaurus.label if self.thesaurus else "Folksonomy"))
110
597fa9d09973 Added Term List View
veltr
parents: 108
diff changeset
    49
597fa9d09973 Added Term List View
veltr
parents: 108
diff changeset
    50
class ContributableTerm(models.Model):
597fa9d09973 Added Term List View
veltr
parents: 108
diff changeset
    51
    
597fa9d09973 Added Term List View
veltr
parents: 108
diff changeset
    52
    term = models.ForeignKey(Term, blank=False, null=False, db_index=True, unique=True)
597fa9d09973 Added Term List View
veltr
parents: 108
diff changeset
    53
    
597fa9d09973 Added Term List View
veltr
parents: 108
diff changeset
    54
    class Meta:
597fa9d09973 Added Term List View
veltr
parents: 108
diff changeset
    55
        app_label = 'jocondelab'
597fa9d09973 Added Term List View
veltr
parents: 108
diff changeset
    56
    
597fa9d09973 Added Term List View
veltr
parents: 108
diff changeset
    57
    def __unicode__(self):
597fa9d09973 Added Term List View
veltr
parents: 108
diff changeset
    58
        return self.term.label