From: david <> Date: Tue, 22 Sep 2009 10:47:23 +0000 (+0000) Subject: #74: Fix related names X-Git-Tag: 1.1~633 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=67ea2ec9f8cb607beb0791c790e7d5f76446f5c8;p=telemeta.git #74: Fix related names --- diff --git a/telemeta/models/crem.py b/telemeta/models/crem.py index 7ea659b0..9f3ea99b 100755 --- a/telemeta/models/crem.py +++ b/telemeta/models/crem.py @@ -4,13 +4,13 @@ class MediaCollection(models.Model): PUBLIC_ACCESS_CHOICES = (('0', 'none'), ('1', 'metadata'), ('2', 'full')) reference = models.CharField(unique=True, max_length=250) - physical_format = models.ForeignKey('PhysicalFormat') + physical_format = models.ForeignKey('PhysicalFormat', related_name="collections") old_code = models.CharField(unique=True, max_length=250) code = models.CharField(unique=True, max_length=250) title = models.CharField(max_length=250) alt_title = models.CharField(max_length=250) physical_items_num = models.IntegerField() - publishing_status = models.ForeignKey('PublishingStatus') + publishing_status = models.ForeignKey('PublishingStatus', related_name="collections") creator = models.CharField(max_length=250) booklet_author = models.CharField(max_length=250) booklet_description = models.TextField() @@ -18,18 +18,18 @@ class MediaCollection(models.Model): collector_is_creator = models.BooleanField() publisher_id = models.IntegerField() year_published = models.IntegerField() - publisher_collection = models.ForeignKey('PublisherCollection') + publisher_collection = models.ForeignKey('PublisherCollection', related_name="collections") publisher_serial = models.CharField(max_length=250) external_references = models.TextField() - acquisition_mode = models.ForeignKey('AcquisitionMode') + acquisition_mode = models.ForeignKey('AcquisitionMode', related_name="collections") comment = models.TextField() - metadata_author = models.ForeignKey('MetadataAuthor') - metadata_writer = models.ForeignKey('MetadataWriter') - legal_rights = models.ForeignKey('LegalRight') + metadata_author = models.ForeignKey('MetadataAuthor', related_name="collections") + metadata_writer = models.ForeignKey('MetadataWriter', related_name="collections") + legal_rights = models.ForeignKey('LegalRight', related_name="collections") alt_ids = models.CharField(max_length=250) recorded_from_year = models.IntegerField() recorded_to_year = models.IntegerField() - recording_context = models.ForeignKey('RecordingContext') + recording_context = models.ForeignKey('RecordingContext', related_name="collections") approx_duration = models.TimeField() doctype_code = models.IntegerField() travail = models.CharField(max_length=250) @@ -37,7 +37,7 @@ class MediaCollection(models.Model): cnrs_contributor = models.CharField(max_length=250) items_done = models.CharField(max_length=250) a_informer_07_03 = models.CharField(max_length=250) - ad_conversion = models.ForeignKey('AdConversion') + ad_conversion = models.ForeignKey('AdConversion', related_name='collections') public_access = models.CharField(choices=PUBLIC_ACCESS_CHOICES, max_length=250) class MediaItem(models.Model): @@ -50,20 +50,20 @@ class MediaItem(models.Model): approx_duration = models.TimeField() recorded_from_date = models.DateField() recorded_to_date = models.DateField() - location_name = models.ForeignKey('Location') + location_name = models.ForeignKey('Location', related_name="items") location_comment = models.CharField(max_length=250) - ethnic_group = models.ForeignKey('EthnicGroup') + ethnic_group = models.ForeignKey('EthnicGroup', related_name="items") title = models.CharField(max_length=250) alt_title = models.CharField(max_length=250) author = models.CharField(max_length=250) - vernacular_style = models.ForeignKey('VernacularStyle') + vernacular_style = models.ForeignKey('VernacularStyle', related_name="items") context_comment = models.TextField() external_references = models.TextField() moda_execut = models.CharField(max_length=250) - copied_from_item = models.ForeignKey('self') + copied_from_item = models.ForeignKey('self', related_name="copies") collector = models.CharField(max_length=250) cultural_area = models.CharField(max_length=250) - generic_style = models.ForeignKey('GenericStyle') + generic_style = models.ForeignKey('GenericStyle', related_name="items") collector_selection = models.CharField(max_length=250) creator_reference = models.CharField(max_length=250) comment = models.TextField() @@ -114,16 +114,14 @@ class GenericStyle(models.Model): class Instrument(models.Model): name = models.CharField(max_length=250) - parents = models.ManyToManyField("self") - alias = models.ManyToManyField("InstrumentAlias") class InstrumentAlias(models.Model): name = models.CharField(max_length=250) class MediaItemPerformance(models.Model): - media_item = models.ForeignKey('MediaItem') - instrument = models.ForeignKey('Instrument') - alias = models.ForeignKey('InstrumentAlias') + media_item = models.ForeignKey('MediaItem', related_name="performances") + instrument = models.ForeignKey('Instrument', related_name="performances") + alias = models.ForeignKey('InstrumentAlias', related_name="performances") instruments_num = models.CharField(max_length=250) musicians = models.CharField(max_length=250) @@ -138,13 +136,13 @@ class User(models.Model): email = models.CharField(max_length=250) class Playlist(models.Model): - owner_username = models.ForeignKey('self') + owner_username = models.ForeignKey('User', related_name="playlists") name = models.CharField(max_length=250) class PlaylistResource(models.Model): RESOURCE_TYPE_CHOICES = (('0', 'item'), ('1', 'collection')) - playlist = models.ForeignKey('Playlist') + playlist = models.ForeignKey('Playlist', related_name="resources") resource_type = models.CharField(choices=RESOURCE_TYPE_CHOICES, max_length=250) resource = models.IntegerField() @@ -153,49 +151,49 @@ class Location(models.Model): name = models.CharField(primary_key=True, max_length=250) type = models.CharField(choices=TYPE_CHOICES, max_length=250) - complet_type = models.ForeignKey('LocationType') - current_name = models.ForeignKey('self') + complet_type = models.ForeignKey('LocationType', related_name="types") + current_name = models.ForeignKey('self', related_name="past_names") is_authoritative = models.BooleanField() class LocationType(models.Model): type = models.CharField(max_length=250) class LocationAlias(models.Model): - location_name = models.ForeignKey('Location') + location_name = models.ForeignKey('Location', related_name="aliases") alias = models.CharField(max_length=250) is_authoritative = models.BooleanField() class LocationRelation(models.Model): - location_name = models.ForeignKey('Location') - parent_location_name = models.ForeignKey('Location') + location_name = models.ForeignKey('Location', related_name="parent_relations") + parent_location_name = models.ForeignKey('Location', related_name="child_relations") is_authoritative = models.BooleanField() class ContextKeyword(models.Model): value = models.CharField(max_length=250) class MediaItemKeyword(models.Model): - item = models.ForeignKey('MediaItem') - keyword = models.ForeignKey('ContextKeyword') + item = models.ForeignKey('MediaItem', related_name="items") + keyword = models.ForeignKey('ContextKeyword', related_name="keywords") class Publisher(models.Model): value = models.CharField(max_length=250) class PublisherCollection(models.Model): - publisher = models.ForeignKey('Publisher') + publisher = models.ForeignKey('Publisher', related_name="collections") value = models.CharField(max_length=250) class Revision(models.Model): CHANGE_TYPE_CHOICES = (('0', 'create'), ('1', 'update'), ('2','delete')) element_type = models.CharField(max_length=250) - element = models.ForeignKey('User') + element = models.ForeignKey('User', related_name="elements") change_type = models.CharField(choices=CHANGE_TYPE_CHOICES, max_length=250) time = models.DateTimeField() - username = models.ForeignKey('User') + username = models.ForeignKey('User', related_name="usernames") class EthnicGroup(models.Model): name = models.CharField(max_length=250) class EthnicGroupAlias(models.Model): - ethnic_group = models.ForeignKey('EthnicGroup') + ethnic_group = models.ForeignKey('EthnicGroup', related_name="aliases") name = models.CharField(max_length=250)