Skip to content

Commit f68763b

Browse files
committed
Fixed many to many relations in Django model
1 parent 84dbc58 commit f68763b

File tree

4 files changed

+9
-1
lines changed

4 files changed

+9
-1
lines changed

graphene/contrib/django/converter.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ def convert_field_to_float(field):
5858

5959
@convert_django_field.register(models.ManyToManyField)
6060
@convert_django_field.register(models.ManyToOneRel)
61+
@convert_django_field.register(models.ManyToManyRel)
6162
def convert_field_to_list_or_connection(field):
6263
from .fields import DjangoModelField, ConnectionOrListField
6364
model_field = DjangoModelField(get_related_model(field))

graphene/contrib/django/tests/models.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@ class Pet(models.Model):
77
name = models.CharField(max_length=30)
88

99

10+
class Film(models.Model):
11+
reporters = models.ManyToManyField('Reporter',
12+
related_name='films')
13+
14+
1015
class Reporter(models.Model):
1116
first_name = models.CharField(max_length=30)
1217
last_name = models.CharField(max_length=30)

graphene/contrib/django/tests/test_schema.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class Meta:
2929
model = Reporter
3030
assert_equal_lists(
3131
ReporterType2._meta.fields_map.keys(),
32-
['articles', 'first_name', 'last_name', 'email', 'pets', 'id']
32+
['articles', 'first_name', 'last_name', 'email', 'pets', 'id', 'films']
3333
)
3434

3535

graphene/contrib/django/utils.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ def get_reverse_fields(model):
3535
yield new_related
3636
elif isinstance(related, models.ManyToOneRel):
3737
yield related
38+
elif isinstance(related, models.ManyToManyRel) and not related.symmetrical:
39+
yield related
3840

3941

4042
class WrappedQueryset(LazyList):

0 commit comments

Comments
 (0)