icon feed rss
[auf_savoirs_en_partage_django.git] / auf_savoirs_en_partage / sitotheque / models.py
CommitLineData
01a9197e 1# -*- encoding: utf-8 -*-
2from django.db import models
03e081cb
AJ
3from datamaster_modeles.models import *
4from savoirs.models import Discipline
01a9197e 5
6TYPE_SITE_CHOICES = (
7 ('RV', 'Revue en ligne'),
8 ('BB', 'Bibliothèque en ligne'),
00755d9b 9 ('FD', 'Fonds documentaire'),
01a9197e 10 ('AR', 'Archive ouverte'),
11 ('CO', 'Cours en ligne'),
00755d9b
AJ
12 ('RE', 'Repertoire de ressource'),
13 ('SA', 'Site associatif'),
14 ('SC', 'Site culturel'),
15 ('SI', 'Site d\'information'),
01a9197e 16 ('AU', 'Autre type de site'),
17 )
18
19class Site(models.Model):
20 """Fiche d'info d'un site web"""
21 url = models.URLField(verify_exists=True) # dc:identifier (dc:source?)
03e081cb 22 titre = models.CharField(max_length=255, verbose_name='Titre') # dc.title
01a9197e 23 description = models.TextField()
03e081cb
AJ
24 editeur = models.CharField(max_length=255, verbose_name='Éditeur') # dc.publisher : organisation resp
25 auteur = models.CharField(max_length=255, verbose_name='Auteur') # dc.creator : nom, prénom
26
27 #auf_partenaire = models.BooleanField() # dc.contributor
28
01a9197e 29 date_publication = models.DateField() # dc.date : date de publication
30 type = models.CharField(max_length=2, null=False, blank=False, choices=TYPE_SITE_CHOICES,
31 verbose_name = 'Type de site') # dc.type
03e081cb
AJ
32 discipline = models.ManyToManyField(Discipline, blank=True)
33 thematique = models.ManyToManyField(Thematique, blank=True)
34
35 mots_cles = models.TextField(verbose_name='Mots-clés') # dc:subject # indexation libre
01a9197e 36
37 # source # dc:source (dc:relation?)
03e081cb 38 pays = models.ForeignKey(Pays, null = True, db_column='pays', to_field='code', verbose_name = 'Pays')
01a9197e 39
40 # meta
41 actif = models.BooleanField()
03e081cb 42 date_maj = models.DateField(auto_now=True)
6e001443 43
44 def __unicode__(self):
c08cba47 45 return "%s" % (self.titre)