mirror of
				https://github.com/graphql-python/graphene-django.git
				synced 2025-11-04 01:47:57 +03:00 
			
		
		
		
	Add option for including foreignkey IDs
This commit is contained in:
		
							parent
							
								
									d7c160c3b0
								
							
						
					
					
						commit
						a33050a543
					
				| 
						 | 
					@ -1,12 +1,13 @@
 | 
				
			||||||
from collections import OrderedDict
 | 
					from collections import OrderedDict
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					from django.db.models import ForeignKey
 | 
				
			||||||
from django.utils.functional import SimpleLazyObject
 | 
					from django.utils.functional import SimpleLazyObject
 | 
				
			||||||
from graphene import Field
 | 
					from graphene import Field
 | 
				
			||||||
from graphene.relay import Connection, Node
 | 
					from graphene.relay import Connection, Node
 | 
				
			||||||
from graphene.types.objecttype import ObjectType, ObjectTypeOptions
 | 
					from graphene.types.objecttype import ObjectType, ObjectTypeOptions
 | 
				
			||||||
from graphene.types.utils import yank_fields_from_attrs
 | 
					from graphene.types.utils import yank_fields_from_attrs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from .converter import convert_django_field_with_choices
 | 
					from .converter import convert_django_field_with_choices, convert_field_to_id
 | 
				
			||||||
from .registry import Registry, get_global_registry
 | 
					from .registry import Registry, get_global_registry
 | 
				
			||||||
from .utils import (DJANGO_FILTER_INSTALLED, get_model_fields,
 | 
					from .utils import (DJANGO_FILTER_INSTALLED, get_model_fields,
 | 
				
			||||||
                    is_valid_django_model)
 | 
					                    is_valid_django_model)
 | 
				
			||||||
| 
						 | 
					@ -30,6 +31,15 @@ def construct_fields(model, registry, only_fields, exclude_fields):
 | 
				
			||||||
        converted = convert_django_field_with_choices(field, registry)
 | 
					        converted = convert_django_field_with_choices(field, registry)
 | 
				
			||||||
        fields[name] = converted
 | 
					        fields[name] = converted
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        attname = getattr(field, 'attname', '')
 | 
				
			||||||
 | 
					        add_foreignkey_attname = all([
 | 
				
			||||||
 | 
					            isinstance(field, ForeignKey),
 | 
				
			||||||
 | 
					            options.include_foreignkey_ids,
 | 
				
			||||||
 | 
					            attname not in fields,
 | 
				
			||||||
 | 
					        ])
 | 
				
			||||||
 | 
					        if add_foreignkey_attname:
 | 
				
			||||||
 | 
					            fields[field.attname] = convert_field_to_id(field)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return fields
 | 
					    return fields
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user