diff options
author | Nicolas Delaby <ticosax@free.fr> | 2017-09-22 17:53:17 +0200 |
---|---|---|
committer | Tim Graham <timograham@gmail.com> | 2017-09-22 11:53:17 -0400 |
commit | 01d440fa1e6b5c62acfa8b3fde43dfa1505f93c6 (patch) | |
tree | 21b1f96ecd0fca636746595bce50eb46abdde880 /tests/foreign_object | |
parent | 3f9d85d95cab228fd881ea952c707022e9e3bdf3 (diff) | |
download | django-01d440fa1e6b5c62acfa8b3fde43dfa1505f93c6.tar.gz |
Fixed #27332 -- Added FilteredRelation API for conditional join (ON clause) support.
Thanks Anssi Kääriäinen for contributing to the patch.
Diffstat (limited to 'tests/foreign_object')
-rw-r--r-- | tests/foreign_object/models/empty_join.py | 26 |
1 files changed, 21 insertions, 5 deletions
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) |