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