src/p4l/models/data.py
changeset 14 52fa6990e0bb
parent 13 6296aa12fd71
child 17 b31a67614f76
--- 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}" \