src/p4l/models/data.py
changeset 102 53c9233a7684
parent 101 71532a54d1c4
parent 100 5b076700ac05
child 104 b66ca6275115
equal deleted inserted replaced
101:71532a54d1c4 102:53c9233a7684
    26 
    26 
    27 class Url(P4lModel):
    27 class Url(P4lModel):
    28     record = models.ForeignKey('p4l.Record', related_name="urls", db_index=True)
    28     record = models.ForeignKey('p4l.Record', related_name="urls", db_index=True)
    29     address = models.CharField(max_length=2048, blank=False, null=False, db_index=True) #iiep:address
    29     address = models.CharField(max_length=2048, blank=False, null=False, db_index=True) #iiep:address
    30     display = models.CharField(max_length=2048, blank=True, null=True, db_index=True) #iiep:display
    30     display = models.CharField(max_length=2048, blank=True, null=True, db_index=True) #iiep:display
    31     accessLevel = models.CharField(max_length=512, blank=True, null=True, db_index=True) #iiep:accessLevel
       
    32 
    31 
    33 
    32 
    34 class Subject(P4lModel):
    33 class Subject(P4lModel):
    35     uri = models.URLField(max_length=2048, unique=True, db_index=True)
    34     uri = models.URLField(max_length=2048, unique=True, db_index=True)
    36 
    35 
    37 class Theme(P4lModel):
    36 class Theme(P4lModel):
    38     uri = models.URLField(max_length=2048, unique=True, db_index=True)
    37     uri = models.URLField(max_length=2048, unique=True, db_index=True)
    39 
    38 
    40 
       
    41 class Country(P4lModel):
    39 class Country(P4lModel):
       
    40     uri = models.URLField(max_length=2048, unique=True, db_index=True)
       
    41 
       
    42 class Audience(P4lModel):
    42     uri = models.URLField(max_length=2048, unique=True, db_index=True)
    43     uri = models.URLField(max_length=2048, unique=True, db_index=True)
    43 
    44 
    44 
    45 
    45 class Isbn(P4lModelLang):
    46 class Isbn(P4lModelLang):
    46     record = models.ForeignKey('p4l.Record', related_name="isbns", db_index=True)
    47     record = models.ForeignKey('p4l.Record', related_name="isbns", db_index=True)
   152     #authors = foreign key from 'p4l.Author' #iiep:author
   153     #authors = foreign key from 'p4l.Author' #iiep:author
   153     #subjectPersons = foreign key from 'p4l.SubjectPerson' #iiep:subjectPerson
   154     #subjectPersons = foreign key from 'p4l.SubjectPerson' #iiep:subjectPerson
   154     subjectCorporateBodies = models.ManyToManyField('p4l.CorporateAuthor', related_name='recordsSubjectCorporateBody') #iiep:subjectCorporateBody # <Organizations>
   155     subjectCorporateBodies = models.ManyToManyField('p4l.CorporateAuthor', related_name='recordsSubjectCorporateBody') #iiep:subjectCorporateBody # <Organizations>
   155     #subjectMeetings = foreign key from 'p4l.SubjectMeeting' #iiep:subjectMeeting
   156     #subjectMeetings = foreign key from 'p4l.SubjectMeeting' #iiep:subjectMeeting
   156     corporateAuthors = models.ManyToManyField('p4l.CorporateAuthor', related_name='recordsCorporateAuthor') #iiep:subjectCorporateBody # <Organizations>
   157     corporateAuthors = models.ManyToManyField('p4l.CorporateAuthor', related_name='recordsCorporateAuthor') #iiep:subjectCorporateBody # <Organizations>
       
   158     corporateAuthorLabel = models.CharField(max_length=2048, blank=True, null=True, db_index=True) #iiep:corporateAuthorLabel
   157     #urls foreign Key from Url #iiep:url
   159     #urls foreign Key from Url #iiep:url
   158     recordType = models.URLField(max_length=2048) #dct:type                                                                # <DocumentType>
   160     audiences = models.ManyToManyField('p4l.Audience') #dct:audience                                                      # Unknown thesaurus
       
   161     recordType = models.URLField(max_length=2048, blank=True, null=True) #dct:type                                        # <DocumentType>
   159     
   162     
   160     isDocumentPart = models.BooleanField() #iiep:isDocumentPart
   163     isDocumentPart = models.BooleanField() #iiep:isDocumentPart
   161     isMultilingual = models.BooleanField() #iiep:isMultilingual
   164     hidden = models.BooleanField(default=False) #iiep:hidden
       
   165     restricted = models.BooleanField(default=False) #iiep:restricted
   162     
   166     
   163     def get_imprints_years(self):
   167     def get_imprints_years(self):
   164         return sorted(set([i.imprintDate for i in self.imprints.all() if i.imprintDate]))
   168         return sorted(set([i.imprintDate for i in self.imprints.all() if i.imprintDate]))
   165 
   169 
   166     def __unicode__(self):
   170     def __unicode__(self):