mirror of
				https://github.com/graphql-python/graphene-django.git
				synced 2025-10-31 16:07:36 +03:00 
			
		
		
		
	Reorganize for clarity
This commit is contained in:
		
							parent
							
								
									74e4e1aa77
								
							
						
					
					
						commit
						95510987f1
					
				|  | @ -21,8 +21,12 @@ except (ImportError, AttributeError): | ||||||
|     DJANGO_FILTER_INSTALLED = False |     DJANGO_FILTER_INSTALLED = False | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def get_reverse_fields(model): | def get_reverse_fields(model, local_field_names): | ||||||
|     for name, attr in model.__dict__.items(): |     for name, attr in model.__dict__.items(): | ||||||
|  |         # Don't duplicate any local fields | ||||||
|  |         if name in local_field_names: | ||||||
|  |             continue | ||||||
|  | 
 | ||||||
|         # Django =>1.9 uses 'rel', django <1.9 uses 'related' |         # Django =>1.9 uses 'rel', django <1.9 uses 'related' | ||||||
|         related = getattr(attr, 'rel', None) or \ |         related = getattr(attr, 'rel', None) or \ | ||||||
|             getattr(attr, 'related', None) |             getattr(attr, 'related', None) | ||||||
|  | @ -44,8 +48,7 @@ def maybe_queryset(value): | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def get_model_fields(model): | def get_model_fields(model): | ||||||
|     reverse_fields = get_reverse_fields(model) |     local_fields = [ | ||||||
|     all_fields = [ |  | ||||||
|         (field.name, field) |         (field.name, field) | ||||||
|         for field |         for field | ||||||
|         in sorted(list(model._meta.fields) + |         in sorted(list(model._meta.fields) + | ||||||
|  | @ -53,13 +56,10 @@ def get_model_fields(model): | ||||||
|     ] |     ] | ||||||
| 
 | 
 | ||||||
|     # Make sure we don't duplicate local fields with "reverse" version |     # Make sure we don't duplicate local fields with "reverse" version | ||||||
|     all_field_names = [field[0] for field in all_fields] |     local_field_names = [field[0] for field in local_fields] | ||||||
|     actual_reverse_fields = [ |     reverse_fields = get_reverse_fields(model, local_field_names) | ||||||
|         reverse_field for reverse_field in reverse_fields |  | ||||||
|         if reverse_field[0] not in all_field_names |  | ||||||
|     ] |  | ||||||
| 
 | 
 | ||||||
|     all_fields += list(actual_reverse_fields) |     all_fields = local_fields + list(reverse_fields) | ||||||
| 
 | 
 | ||||||
|     return all_fields |     return all_fields | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user