8
8
import inspect
9
9
from collections import OrderedDict , namedtuple
10
10
11
+ import django
11
12
from django .apps import apps
12
13
from django .core .exceptions import ImproperlyConfigured
13
14
from django .db import models
@@ -134,7 +135,12 @@ def _get_reverse_relationships(opts):
134
135
# See: https://code.djangoproject.com/ticket/24208
135
136
136
137
reverse_relations = OrderedDict ()
137
- for relation in opts .get_all_related_objects ():
138
+
139
+ if django .VERSION < (1 , 9 ):
140
+ rels = opts .get_all_related_objects ()
141
+ else :
142
+ rels = [r for r in opts .related_objects if not r .field .many_to_many ]
143
+ for relation in rels :
138
144
accessor_name = relation .get_accessor_name ()
139
145
related = getattr (relation , 'related_model' , relation .model )
140
146
reverse_relations [accessor_name ] = RelationInfo (
@@ -146,7 +152,11 @@ def _get_reverse_relationships(opts):
146
152
)
147
153
148
154
# Deal with reverse many-to-many relationships.
149
- for relation in opts .get_all_related_many_to_many_objects ():
155
+ if django .VERSION < (1 , 9 ):
156
+ rels = opts .get_all_related_many_to_many_objects ()
157
+ else :
158
+ rels = [r for r in opts .related_objects if r .field .many_to_many ]
159
+ for relation in rels :
150
160
accessor_name = relation .get_accessor_name ()
151
161
related = getattr (relation , 'related_model' , relation .model )
152
162
reverse_relations [accessor_name ] = RelationInfo (
0 commit comments