From 01d440fa1e6b5c62acfa8b3fde43dfa1505f93c6 Mon Sep 17 00:00:00 2001 From: Nicolas Delaby Date: Fri, 22 Sep 2017 17:53:17 +0200 Subject: Fixed #27332 -- Added FilteredRelation API for conditional join (ON clause) support. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Thanks Anssi Kääriäinen for contributing to the patch. --- tests/foreign_object/models/empty_join.py | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) (limited to 'tests/foreign_object') diff --git a/tests/foreign_object/models/empty_join.py b/tests/foreign_object/models/empty_join.py index 202676b075..08d1edb18a 100644 --- a/tests/foreign_object/models/empty_join.py +++ b/tests/foreign_object/models/empty_join.py @@ -53,15 +53,31 @@ class StartsWithRelation(models.ForeignObject): def get_joining_columns(self, reverse_join=False): return () - def get_path_info(self): + def get_path_info(self, filtered_relation=None): to_opts = self.remote_field.model._meta from_opts = self.model._meta - return [PathInfo(from_opts, to_opts, (to_opts.pk,), self, False, False)] - - def get_reverse_path_info(self): + return [PathInfo( + from_opts=from_opts, + to_opts=to_opts, + target_fields=(to_opts.pk,), + join_field=self, + m2m=False, + direct=False, + filtered_relation=filtered_relation, + )] + + def get_reverse_path_info(self, filtered_relation=None): to_opts = self.model._meta from_opts = self.remote_field.model._meta - return [PathInfo(from_opts, to_opts, (to_opts.pk,), self.remote_field, False, False)] + return [PathInfo( + from_opts=from_opts, + to_opts=to_opts, + target_fields=(to_opts.pk,), + join_field=self.remote_field, + m2m=False, + direct=False, + filtered_relation=filtered_relation, + )] def contribute_to_class(self, cls, name, private_only=False): super().contribute_to_class(cls, name, private_only) -- cgit v1.3