diff -r 6296aa12fd71 -r 52fa6990e0bb src/p4l/models/data.py --- 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}" \