Skip to content

Commit

Permalink
Address issues with Django 4.0+.
Browse files Browse the repository at this point in the history
  • Loading branch information
charettes committed Oct 23, 2022
1 parent a890f9d commit 657d8a6
Showing 1 changed file with 9 additions and 3 deletions.
12 changes: 9 additions & 3 deletions reverse_unique/fields.py
Expand Up @@ -128,7 +128,7 @@ def get_filters(self):
else:
return self.filters

def get_extra_restriction(self, where_class, alias, related_alias):
def _get_extra_restriction(self, alias, related_alias):
remote_model = get_remote_field_model(self)
qs = remote_model.objects.filter(self.get_filters()).query
my_table = self.model._meta.db_table
Expand All @@ -141,11 +141,17 @@ def get_extra_restriction(self, where_class, alias, related_alias):
where.relabel_aliases({my_table: related_alias, rel_table: alias})
return where

if django.VERSION[0] >= 4:
get_extra_restriction = _get_extra_restriction
else:
def get_extra_restriction(self, where_class, alias, related_alias):
return self._get_extra_restriction(alias, related_alias)

def get_extra_descriptor_filter(self, instance):
return self.get_filters()

def get_path_info(self, filtered_relation):
ret = super(ReverseUnique, self).get_path_info(filtered_relation)
def get_path_info(self, *args, **kwargs):
ret = super(ReverseUnique, self).get_path_info(*args, **kwargs)
assert len(ret) == 1
return [ret[0]._replace(direct=False)]

Expand Down

0 comments on commit 657d8a6

Please sign in to comment.