16 title = models.CharField(max_length=2048, blank=False, null=False, db_index=True) |
16 title = models.CharField(max_length=2048, blank=False, null=False, db_index=True) |
17 volume = models.CharField(max_length=2048, blank=True, null=True, db_index=True) |
17 volume = models.CharField(max_length=2048, blank=True, null=True, db_index=True) |
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 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) |
22 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 |
23 class Meta(P4lModel.Meta): |
24 class Meta(P4lModel.Meta): |
24 unique_together = ['label', 'acronym'] |
25 unique_together = ['label', 'acronym'] |
25 |
26 |
26 |
27 |
27 class CorporateAuthor(P4lModel): |
28 class CorporateAuthor(P4lModel): |
28 record = models.ForeignKey('p4l.Record', related_name="corporateAuthors", db_index=True) |
29 uri = models.URLField(max_length=2048, unique=True, db_index=True) |
29 label = models.CharField(max_length=2048, blank=False, null=False, db_index=True) |
30 label = models.CharField(max_length=2048, blank=True, null=True, db_index=True) |
30 acronym = models.CharField(max_length=2048, blank=True, null=True, db_index=True) #iiep:acronym |
31 acronym = models.CharField(max_length=2048, blank=True, null=True, db_index=True) #iiep:acronym |
31 |
32 class Meta(P4lModel.Meta): |
|
33 unique_together = ['label','acronym'] |
32 |
34 |
33 class Url(P4lModel): |
35 class Url(P4lModel): |
34 record = models.ForeignKey('p4l.Record', related_name="urls", db_index=True) |
36 record = models.ForeignKey('p4l.Record', related_name="urls", db_index=True) |
35 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 |
36 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 |
37 accessLevel = models.CharField(max_length=512, blank=True, null=True, db_index=True) #iiep:accessLevel |
39 accessLevel = models.CharField(max_length=512, blank=True, null=True, db_index=True) #iiep:accessLevel |
38 |
40 |
39 |
41 |
40 class Subject(P4lModel): |
42 class Subject(P4lModel): |
41 subject = models.URLField(max_length=2048, unique=True, db_index=True) |
43 uri = models.URLField(max_length=2048, unique=True, db_index=True) |
42 label = models.CharField(max_length=2048, blank=True, null=True, db_index=True) # filled from sparql request after import |
44 label = models.CharField(max_length=2048, blank=True, null=True, db_index=True) # filled from sparql request after import |
43 |
45 |
44 class Theme(P4lModel): |
46 class Theme(P4lModel): |
45 theme = models.URLField(max_length=2048, unique=True, db_index=True) |
47 uri = models.URLField(max_length=2048, unique=True, db_index=True) |
46 label = models.CharField(max_length=2048, blank=True, null=True, db_index=True) # filled from sparql request after import |
48 label = models.CharField(max_length=2048, blank=True, null=True, db_index=True) # filled from sparql request after import |
47 |
49 |
48 |
50 |
49 class Country(P4lModel): |
51 class Country(P4lModel): |
50 country = models.URLField(max_length=2048, unique=True, db_index=True) |
52 uri = models.URLField(max_length=2048, unique=True, db_index=True) |
51 label = models.CharField(max_length=2048, blank=True, null=True, db_index=True) # filled from sparql request after import |
53 label = models.CharField(max_length=2048, blank=True, null=True, db_index=True) # filled from sparql request after import |
52 |
54 |
53 |
55 |
54 class Isbn(P4lModelLang): |
56 class Isbn(P4lModelLang): |
55 record = models.ForeignKey('p4l.Record', related_name="isbns", db_index=True) |
57 record = models.ForeignKey('p4l.Record', related_name="isbns", db_index=True) |
63 class DocumentCode(P4lModelLang): |
65 class DocumentCode(P4lModelLang): |
64 record = models.ForeignKey('p4l.Record', related_name="documentCodes", db_index=True) |
66 record = models.ForeignKey('p4l.Record', related_name="documentCodes", db_index=True) |
65 documentCode = models.CharField(max_length=128) #iiep:issn |
67 documentCode = models.CharField(max_length=128) #iiep:issn |
66 |
68 |
67 class Language(P4lModel): |
69 class Language(P4lModel): |
68 language = models.URLField(max_length=2048, unique=True, db_index=True) |
70 uri = models.URLField(max_length=2048, unique=True, db_index=True) |
69 label = models.CharField(max_length=2048, blank=True, null=True, db_index=True) # filled from sparql request after import |
71 label = models.CharField(max_length=2048, blank=True, null=True, db_index=True) # filled from sparql request after import |
70 |
|
71 |
|
72 |
72 |
73 class BaseTitle(P4lModelLang): |
73 class BaseTitle(P4lModelLang): |
74 title = models.CharField(max_length=2048, blank=False, null=False, db_index=True) |
74 title = models.CharField(max_length=2048, blank=False, null=False, db_index=True) |
75 class Meta(P4lModelLang.Meta): |
75 class Meta(P4lModelLang.Meta): |
76 abstract = True |
76 abstract = True |
134 |
134 |
135 |
135 |
136 class SubjectMeeting(BaseMeeting): |
136 class SubjectMeeting(BaseMeeting): |
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 |
|
140 class CorporateBody(P4lModel): |
|
141 label = models.CharField(max_length=2048, blank=False, null=False, db_index=True) #rdfs:label |
|
142 acronym = models.CharField(max_length=2048, blank=True, null=True, db_index=True) #iiep:acronym |
|
143 class Meta(P4lModel.Meta): |
|
144 unique_together = ['label','acronym'] |
|
145 |
139 |
146 class Record(P4lModel): |
140 class Record(P4lModel): |
147 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 |
148 subjects = models.ManyToManyField('p4l.Subject') #dct:subject # Thesaurus with no country |
142 subjects = models.ManyToManyField('p4l.Subject') #dct:subject # Thesaurus with no country |
149 themes = models.ManyToManyField('p4l.Theme') #iiep:theme # Theme |
143 themes = models.ManyToManyField('p4l.Theme') #iiep:theme # Theme |
167 #periodicals = foreign key from 'p4l.Periodical' #iiep:periodical |
161 #periodicals = foreign key from 'p4l.Periodical' #iiep:periodical |
168 #meetings = foreign key from 'p4l.Meeting' #iiep:meeting |
162 #meetings = foreign key from 'p4l.Meeting' #iiep:meeting |
169 #series = foreign key from 'p4l.Serie' #iiep:serie |
163 #series = foreign key from 'p4l.Serie' #iiep:serie |
170 #authors = foreign key from 'p4l.Author' #iiep:author |
164 #authors = foreign key from 'p4l.Author' #iiep:author |
171 #subjectPersons = foreign key from 'p4l.SubjectPerson' #iiep:subjectPerson |
165 #subjectPersons = foreign key from 'p4l.SubjectPerson' #iiep:subjectPerson |
172 subjectCorporateBodies = models.ManyToManyField('p4l.CorporateBody') #iiep:subjectCorporateBody # Organisation ? |
166 subjectCorporateBodies = models.ManyToManyField('p4l.CorporateAuthor', related_name='recordsSubjectCorporateBody') #iiep:subjectCorporateBody |
173 #subjectMeetings = foreign key from 'p4l.SubjectMeeting' #iiep:subjectMeeting |
167 #subjectMeetings = foreign key from 'p4l.SubjectMeeting' #iiep:subjectMeeting |
174 #corporateAuthors = foreign key from 'p4l.CorporateAuthor' #iiep:corporateAuthor # Organisation ? |
168 corporateAuthors = models.ManyToManyField('p4l.CorporateAuthor', related_name='recordsCorporateAuthor') #iiep:subjectCorporateBody |
175 #urls foreign Key from Url #iiep:url |
169 #urls foreign Key from Url #iiep:url |
176 recordType = models.URLField(max_length=2048) #dct:type |
170 recordType = models.URLField(max_length=2048) #dct:type |
|
171 |
177 isDocumentPart = models.BooleanField() #iiep:isDocumentPart |
172 isDocumentPart = models.BooleanField() #iiep:isDocumentPart |
|
173 isMultilingual = models.BooleanField() #iiep:isMultilingual |
178 |
174 |
179 def __unicode__(self): |
175 def __unicode__(self): |
180 return "Record id %s { identifier: %s, uri: %s, editionStatement: %s, recordType: %s, isDocumentPart: %s, notes: %s, language : %s}" \ |
176 return "Record id %s { identifier: %s, uri: %s, editionStatement: %s, recordType: %s, isDocumentPart: %s, notes: %s, language : %s}" \ |
181 % ( |
177 % ( |
182 self.id, |
178 self.id, |