src/p4l/models/data.py
changeset 97 12bbec897e48
parent 93 c675183a9325
child 100 5b076700ac05
equal deleted inserted replaced
96:d2c4dbdf3548 97:12bbec897e48
    34 
    34 
    35 class Url(P4lModel):
    35 class Url(P4lModel):
    36     record = models.ForeignKey('p4l.Record', related_name="urls", db_index=True)
    36     record = models.ForeignKey('p4l.Record', related_name="urls", db_index=True)
    37     address = models.CharField(max_length=2048, blank=False, null=False, db_index=True) #iiep:address
    37     address = models.CharField(max_length=2048, blank=False, null=False, db_index=True) #iiep:address
    38     display = models.CharField(max_length=2048, blank=True, null=True, db_index=True) #iiep:display
    38     display = models.CharField(max_length=2048, blank=True, null=True, db_index=True) #iiep:display
    39     accessLevel = models.CharField(max_length=512, blank=True, null=True, db_index=True) #iiep:accessLevel
       
    40 
    39 
    41 
    40 
    42 class Subject(P4lModel):
    41 class Subject(P4lModel):
    43     uri = models.URLField(max_length=2048, unique=True, db_index=True)
    42     uri = models.URLField(max_length=2048, unique=True, db_index=True)
    44     #label = models.CharField(max_length=2048, blank=True, null=True, db_index=True) # filled from sparql request after import
       
    45 
    43 
    46 class Theme(P4lModel):
    44 class Theme(P4lModel):
    47     uri = models.URLField(max_length=2048, unique=True, db_index=True)
    45     uri = models.URLField(max_length=2048, unique=True, db_index=True)
    48     #label = models.CharField(max_length=2048, blank=True, null=True, db_index=True) # filled from sparql request after import
       
    49 
       
    50 
    46 
    51 class Country(P4lModel):
    47 class Country(P4lModel):
    52     uri = models.URLField(max_length=2048, unique=True, db_index=True)
    48     uri = models.URLField(max_length=2048, unique=True, db_index=True)
    53     #label = models.CharField(max_length=2048, blank=True, null=True, db_index=True) # filled from sparql request after import
    49 
       
    50 class Audience(P4lModel):
       
    51     uri = models.URLField(max_length=2048, unique=True, db_index=True)
    54 
    52 
    55 
    53 
    56 class Isbn(P4lModelLang):
    54 class Isbn(P4lModelLang):
    57     record = models.ForeignKey('p4l.Record', related_name="isbns", db_index=True)
    55     record = models.ForeignKey('p4l.Record', related_name="isbns", db_index=True)
    58     isbn = models.CharField(max_length=128) #iiep:isbn
    56     isbn = models.CharField(max_length=128) #iiep:isbn
   164     #authors = foreign key from 'p4l.Author' #iiep:author
   162     #authors = foreign key from 'p4l.Author' #iiep:author
   165     #subjectPersons = foreign key from 'p4l.SubjectPerson' #iiep:subjectPerson
   163     #subjectPersons = foreign key from 'p4l.SubjectPerson' #iiep:subjectPerson
   166     subjectCorporateBodies = models.ManyToManyField('p4l.CorporateAuthor', related_name='recordsSubjectCorporateBody') #iiep:subjectCorporateBody # <Organizations>
   164     subjectCorporateBodies = models.ManyToManyField('p4l.CorporateAuthor', related_name='recordsSubjectCorporateBody') #iiep:subjectCorporateBody # <Organizations>
   167     #subjectMeetings = foreign key from 'p4l.SubjectMeeting' #iiep:subjectMeeting
   165     #subjectMeetings = foreign key from 'p4l.SubjectMeeting' #iiep:subjectMeeting
   168     corporateAuthors = models.ManyToManyField('p4l.CorporateAuthor', related_name='recordsCorporateAuthor') #iiep:subjectCorporateBody # <Organizations>
   166     corporateAuthors = models.ManyToManyField('p4l.CorporateAuthor', related_name='recordsCorporateAuthor') #iiep:subjectCorporateBody # <Organizations>
       
   167     corporateAuthorLabel = models.CharField(max_length=2048, blank=True, null=True, db_index=True) #iiep:corporateAuthorLabel
   169     #urls foreign Key from Url #iiep:url
   168     #urls foreign Key from Url #iiep:url
   170     recordType = models.URLField(max_length=2048, blank=True, null=True) #dct:type                                                                # <DocumentType>
   169     audiences = models.ManyToManyField('p4l.Audience') #dct:audience                                                      # Unknow thesaurus
       
   170     recordType = models.URLField(max_length=2048, blank=True, null=True) #dct:type                                        # <DocumentType>
   171     
   171     
   172     isDocumentPart = models.BooleanField() #iiep:isDocumentPart
   172     isDocumentPart = models.BooleanField() #iiep:isDocumentPart
   173     isMultilingual = models.BooleanField() #iiep:isMultilingual
   173     isHidden = models.BooleanField() #iiep:hidden
       
   174     isRestricted = models.BooleanField() #iiep:restricted
   174     
   175     
   175     def get_imprints_years(self):
   176     def get_imprints_years(self):
   176         return sorted(set([i.imprintDate for i in self.imprints.all() if i.imprintDate]))
   177         return sorted(set([i.imprintDate for i in self.imprints.all() if i.imprintDate]))
   177 
   178 
   178     def __unicode__(self):
   179     def __unicode__(self):