mirror of
				https://github.com/graphql-python/graphene-django.git
				synced 2025-11-04 09:57:53 +03:00 
			
		
		
		
	Fix for custom resolve support for DjangoFilterConnectionField (issue #30)
This commit is contained in:
		
							parent
							
								
									4246ceaa85
								
							
						
					
					
						commit
						7cbd5e2139
					
				| 
						 | 
					@ -24,9 +24,15 @@ class DjangoFilterConnectionField(DjangoConnectionField):
 | 
				
			||||||
    def connection_resolver(resolver, connection, default_manager, filterset_class, filtering_args,
 | 
					    def connection_resolver(resolver, connection, default_manager, filterset_class, filtering_args,
 | 
				
			||||||
                            root, args, context, info):
 | 
					                            root, args, context, info):
 | 
				
			||||||
        filter_kwargs = {k: v for k, v in args.items() if k in filtering_args}
 | 
					        filter_kwargs = {k: v for k, v in args.items() if k in filtering_args}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        def new_resolver(root, args, context, info):
 | 
				
			||||||
 | 
					            qs = resolver(root, args, context, info)
 | 
				
			||||||
 | 
					            if qs is None:
 | 
				
			||||||
                qs = default_manager.get_queryset()
 | 
					                qs = default_manager.get_queryset()
 | 
				
			||||||
            qs = filterset_class(data=filter_kwargs, queryset=qs).qs
 | 
					            qs = filterset_class(data=filter_kwargs, queryset=qs).qs
 | 
				
			||||||
        return DjangoConnectionField.connection_resolver(resolver, connection, qs, root, args, context, info)
 | 
					            return qs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        return DjangoConnectionField.connection_resolver(new_resolver, connection, None, root, args, context, info)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def get_resolver(self, parent_resolver):
 | 
					    def get_resolver(self, parent_resolver):
 | 
				
			||||||
        return partial(self.connection_resolver, parent_resolver, self.type, self.get_manager(),
 | 
					        return partial(self.connection_resolver, parent_resolver, self.type, self.get_manager(),
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user