--- a/src/p4l/models/data.py Fri Aug 30 17:58:35 2013 +0200
+++ b/src/p4l/models/data.py Sat Aug 31 19:20:46 2013 +0200
@@ -18,6 +18,7 @@
class ProjectName(P4lModel):
+ uri = models.URLField(max_length=2048, unique=True, db_index=True)
label = models.CharField(max_length=2048, blank=False, null=False, db_index=True)
acronym = models.CharField(max_length=2048, blank=True, null=True, db_index=True) #iiep:acronym
class Meta(P4lModel.Meta):
@@ -25,10 +26,11 @@
class CorporateAuthor(P4lModel):
- record = models.ForeignKey('p4l.Record', related_name="corporateAuthors", db_index=True)
- label = models.CharField(max_length=2048, blank=False, null=False, db_index=True)
- acronym = models.CharField(max_length=2048, blank=True, null=True, db_index=True) #iiep:acronym
-
+ uri = models.URLField(max_length=2048, unique=True, db_index=True)
+ label = models.CharField(max_length=2048, blank=True, null=True, db_index=True)
+ acronym = models.CharField(max_length=2048, blank=True, null=True, db_index=True) #iiep:acronym
+ class Meta(P4lModel.Meta):
+ unique_together = ['label','acronym']
class Url(P4lModel):
record = models.ForeignKey('p4l.Record', related_name="urls", db_index=True)
@@ -38,16 +40,16 @@
class Subject(P4lModel):
- subject = models.URLField(max_length=2048, unique=True, db_index=True)
+ uri = models.URLField(max_length=2048, unique=True, db_index=True)
label = models.CharField(max_length=2048, blank=True, null=True, db_index=True) # filled from sparql request after import
class Theme(P4lModel):
- theme = models.URLField(max_length=2048, unique=True, db_index=True)
+ uri = models.URLField(max_length=2048, unique=True, db_index=True)
label = models.CharField(max_length=2048, blank=True, null=True, db_index=True) # filled from sparql request after import
class Country(P4lModel):
- country = models.URLField(max_length=2048, unique=True, db_index=True)
+ uri = models.URLField(max_length=2048, unique=True, db_index=True)
label = models.CharField(max_length=2048, blank=True, null=True, db_index=True) # filled from sparql request after import
@@ -65,11 +67,9 @@
documentCode = models.CharField(max_length=128) #iiep:issn
class Language(P4lModel):
- language = models.URLField(max_length=2048, unique=True, db_index=True)
+ uri = models.URLField(max_length=2048, unique=True, db_index=True)
label = models.CharField(max_length=2048, blank=True, null=True, db_index=True) # filled from sparql request after import
-
-
class BaseTitle(P4lModelLang):
title = models.CharField(max_length=2048, blank=False, null=False, db_index=True)
class Meta(P4lModelLang.Meta):
@@ -137,12 +137,6 @@
record = models.ForeignKey('p4l.Record', related_name="subjectMeetings", db_index=True)
-class CorporateBody(P4lModel):
- label = models.CharField(max_length=2048, blank=False, null=False, db_index=True) #rdfs:label
- acronym = models.CharField(max_length=2048, blank=True, null=True, db_index=True) #iiep:acronym
- class Meta(P4lModel.Meta):
- unique_together = ['label','acronym']
-
class Record(P4lModel):
uri = models.URLField(max_length=2048, unique=True, db_index=True) #subject
subjects = models.ManyToManyField('p4l.Subject') #dct:subject # Thesaurus with no country
@@ -169,12 +163,14 @@
#series = foreign key from 'p4l.Serie' #iiep:serie
#authors = foreign key from 'p4l.Author' #iiep:author
#subjectPersons = foreign key from 'p4l.SubjectPerson' #iiep:subjectPerson
- subjectCorporateBodies = models.ManyToManyField('p4l.CorporateBody') #iiep:subjectCorporateBody # Organisation ?
+ subjectCorporateBodies = models.ManyToManyField('p4l.CorporateAuthor', related_name='recordsSubjectCorporateBody') #iiep:subjectCorporateBody
#subjectMeetings = foreign key from 'p4l.SubjectMeeting' #iiep:subjectMeeting
- #corporateAuthors = foreign key from 'p4l.CorporateAuthor' #iiep:corporateAuthor # Organisation ?
+ corporateAuthors = models.ManyToManyField('p4l.CorporateAuthor', related_name='recordsCorporateAuthor') #iiep:subjectCorporateBody
#urls foreign Key from Url #iiep:url
recordType = models.URLField(max_length=2048) #dct:type
+
isDocumentPart = models.BooleanField() #iiep:isDocumentPart
+ isMultilingual = models.BooleanField() #iiep:isMultilingual
def __unicode__(self):
return "Record id %s { identifier: %s, uri: %s, editionStatement: %s, recordType: %s, isDocumentPart: %s, notes: %s, language : %s}" \