diff --git a/people/migrations/0025_rename_relationship_target.py b/people/migrations/0025_rename_relationship_target.py index 2c06a96..63ef841 100644 --- a/people/migrations/0025_rename_relationship_target.py +++ b/people/migrations/0025_rename_relationship_target.py @@ -9,18 +9,4 @@ class Migration(migrations.Migration): ('people', '0024_remove_age_gender'), ] - operations = [ - migrations.RemoveConstraint( - model_name='relationship', - name='unique_relationship', - ), - migrations.RenameField( - model_name='relationship', - old_name='target', - new_name='target_person', - ), - migrations.AddConstraint( - model_name='relationship', - constraint=models.UniqueConstraint(fields=('source', 'target_person'), name='unique_relationship'), - ), - ] + operations = [] diff --git a/people/models/person.py b/people/models/person.py index aebc680..e8fff6c 100644 --- a/people/models/person.py +++ b/people/models/person.py @@ -119,7 +119,7 @@ class Person(models.Model): 'self', related_name='relationship_sources', through='Relationship', - through_fields=('source', 'target_person'), + through_fields=('source', 'target'), symmetrical=False) @property diff --git a/people/models/relationship.py b/people/models/relationship.py index ce68a3c..83346ea 100644 --- a/people/models/relationship.py +++ b/people/models/relationship.py @@ -52,7 +52,7 @@ class Relationship(models.Model): class Meta: constraints = [ - models.UniqueConstraint(fields=['source', 'target_person'], + models.UniqueConstraint(fields=['source', 'person'], name='unique_relationship'), ] @@ -62,11 +62,11 @@ class Relationship(models.Model): blank=False, null=False) #: Person with whom the relationship is reported - target_person = models.ForeignKey(Person, - related_name='relationships_as_target', - on_delete=models.CASCADE, - blank=False, - null=False) + target = models.ForeignKey(Person, + related_name='relationships_as_target', + on_delete=models.CASCADE, + blank=False, + null=False) # blank=True, # null=True) @@ -83,13 +83,6 @@ class Relationship(models.Model): #: When was this marked as expired? Default None means it has not expired expired = models.DateTimeField(blank=True, null=True) - @property - def target(self) -> Person: - if self.target_person: - return self.target_person - - raise ObjectDoesNotExist('Relationship has no target linked') - @property def current_answers(self) -> 'RelationshipAnswerSet': return self.answer_sets.last() @@ -107,8 +100,8 @@ class Relationship(models.Model): @raise Relationship.DoesNotExist: When the reverse relationship is not known """ - return type(self).objects.get(source=self.target_person, - target_person=self.source) + return type(self).objects.get(source=self.target, + target=self.source) class RelationshipAnswerSet(AnswerSet):