src/p4l/models/data.py
changeset 17 b31a67614f76
parent 14 52fa6990e0bb
child 19 6b45fd23e4a0
equal deleted inserted replaced
15:be595253ced5 17:b31a67614f76
    18 
    18 
    19 
    19 
    20 class ProjectName(P4lModel):
    20 class ProjectName(P4lModel):
    21     uri = models.URLField(max_length=2048, unique=True, db_index=True) 
    21     uri = models.URLField(max_length=2048, unique=True, db_index=True) 
    22     label = models.CharField(max_length=2048, blank=False, null=False, db_index=True)
    22     label = models.CharField(max_length=2048, blank=False, null=False, db_index=True)
    23     acronym = models.CharField(max_length=2048, blank=True, null=True, db_index=True) #iiep:acronym
    23     acronym = models.CharField(max_length=2048, blank=True, null=True, db_index=True) #iiep:acronym        # 
    24     class Meta(P4lModel.Meta):
    24     class Meta(P4lModel.Meta):
    25         unique_together = ['label', 'acronym']
    25         unique_together = ['label', 'acronym']
    26 
    26 
    27 
    27 
    28 class CorporateAuthor(P4lModel):
    28 class CorporateAuthor(P4lModel):
   137     record = models.ForeignKey('p4l.Record', related_name="subjectMeetings", db_index=True)
   137     record = models.ForeignKey('p4l.Record', related_name="subjectMeetings", db_index=True)
   138 
   138 
   139 
   139 
   140 class Record(P4lModel):
   140 class Record(P4lModel):
   141     uri = models.URLField(max_length=2048, unique=True, db_index=True) #subject
   141     uri = models.URLField(max_length=2048, unique=True, db_index=True) #subject
   142     subjects = models.ManyToManyField('p4l.Subject') #dct:subject                                                       # Thesaurus with no country
   142     subjects = models.ManyToManyField('p4l.Subject') #dct:subject                                                       # <Thesaurus> with no country
   143     themes = models.ManyToManyField('p4l.Theme') #iiep:theme                                                            # Theme
   143     themes = models.ManyToManyField('p4l.Theme') #iiep:theme                                                            # <Themes>
   144     countries = models.ManyToManyField('p4l.Country') #iiep:country                                                     # Thesaurus filtered with country only
   144     countries = models.ManyToManyField('p4l.Country') #iiep:country                                                     # <Thesaurus> filtered with country only
   145     identifier = models.CharField(max_length=128, unique=True, db_index=True) #dct:identifier    
   145     identifier = models.CharField(max_length=128, unique=True, db_index=True) #dct:identifier    
   146     notes = models.TextField(blank=True, null=True) #iiep:notes    
   146     notes = models.TextField(blank=True, null=True) #iiep:notes    
   147     #issns foreign key from Isbn #iiep:issn
   147     #issns foreign key from Isbn #iiep:issn
   148     #isbns foreign key from Isbn #iiep:isbn
   148     #isbns foreign key from Isbn #iiep:isbn
   149     #documentCodes foreign key from Isbn #iiep:documentCode
   149     #documentCodes foreign key from Isbn #iiep:documentCode
   150     language = models.ForeignKey('p4l.Language', blank=True, null=True) #dct:language                                    # Language
   150     language = models.ForeignKey('p4l.Language', blank=True, null=True) #dct:language                                    # <Languages>
   151     otherLanguages = models.ManyToManyField('p4l.Language', related_name='otherLanguage_record') #iiep:otherLanguage     # Language
   151     otherLanguages = models.ManyToManyField('p4l.Language', related_name='otherLanguage_record') #iiep:otherLanguage     # <Languages>
   152     #titles foreign Key from Title #dct:title
   152     #titles foreign Key from Title #dct:title
   153     #abstracts foreign Key from Abstract #dct:abstract
   153     #abstracts foreign Key from Abstract #dct:abstract
   154     #addedTitles foreign Key from AddedTitle #iiep:addedTitle
   154     #addedTitles foreign Key from AddedTitle #iiep:addedTitle
   155     #titlesMainDocument foreign Key from TitleMainDocument #iiep:titleMainDocument
   155     #titlesMainDocument foreign Key from TitleMainDocument #iiep:titleMainDocument
   156     editionStatement = models.CharField(max_length=1024, blank=True, null=True) #iiep:editionStatement
   156     editionStatement = models.CharField(max_length=1024, blank=True, null=True) #iiep:editionStatement
   157     #imprints foreign Key from Imprint #iiep:imprint
   157     #imprints foreign Key from Imprint #iiep:imprint
   158     #collations = foreign Key from Collation #iiep:collation
   158     #collations = foreign Key from Collation #iiep:collation
   159     #volumeIssues = foreign Key from VolumeIssue #iiep:volumeIssue
   159     #volumeIssues = foreign Key from VolumeIssue #iiep:volumeIssue
   160     projectNames = models.ManyToManyField('p4l.ProjectName') #iiep:projectName
   160     projectNames = models.ManyToManyField('p4l.ProjectName') #iiep:projectName                                            # <Projects>
   161     #periodicals = foreign key from 'p4l.Periodical' #iiep:periodical
   161     #periodicals = foreign key from 'p4l.Periodical' #iiep:periodical
   162     #meetings = foreign key from 'p4l.Meeting' #iiep:meeting
   162     #meetings = foreign key from 'p4l.Meeting' #iiep:meeting
   163     #series = foreign key from 'p4l.Serie'  #iiep:serie
   163     #series = foreign key from 'p4l.Serie'  #iiep:serie
   164     #authors = foreign key from 'p4l.Author' #iiep:author
   164     #authors = foreign key from 'p4l.Author' #iiep:author
   165     #subjectPersons = foreign key from 'p4l.SubjectPerson' #iiep:subjectPerson
   165     #subjectPersons = foreign key from 'p4l.SubjectPerson' #iiep:subjectPerson
   166     subjectCorporateBodies = models.ManyToManyField('p4l.CorporateAuthor', related_name='recordsSubjectCorporateBody') #iiep:subjectCorporateBody
   166     subjectCorporateBodies = models.ManyToManyField('p4l.CorporateAuthor', related_name='recordsSubjectCorporateBody') #iiep:subjectCorporateBody # <Organizations>
   167     #subjectMeetings = foreign key from 'p4l.SubjectMeeting' #iiep:subjectMeeting
   167     #subjectMeetings = foreign key from 'p4l.SubjectMeeting' #iiep:subjectMeeting
   168     corporateAuthors = models.ManyToManyField('p4l.CorporateAuthor', related_name='recordsCorporateAuthor') #iiep:subjectCorporateBody
   168     corporateAuthors = models.ManyToManyField('p4l.CorporateAuthor', related_name='recordsCorporateAuthor') #iiep:subjectCorporateBody # <Organizations>
   169     #urls foreign Key from Url #iiep:url
   169     #urls foreign Key from Url #iiep:url
   170     recordType = models.URLField(max_length=2048) #dct:type
   170     recordType = models.URLField(max_length=2048) #dct:type
   171     
   171     
   172     isDocumentPart = models.BooleanField() #iiep:isDocumentPart
   172     isDocumentPart = models.BooleanField() #iiep:isDocumentPart
   173     isMultilingual = models.BooleanField() #iiep:isMultilingual
   173     isMultilingual = models.BooleanField() #iiep:isMultilingual