File tree Expand file tree Collapse file tree 2 files changed +16
-2
lines changed Expand file tree Collapse file tree 2 files changed +16
-2
lines changed Original file line number Diff line number Diff line change @@ -289,6 +289,7 @@ def dynamic_type():
289289
290290@convert_django_field .register (models .OneToOneField )
291291@convert_django_field .register (models .ForeignKey )
292+ @convert_django_field .register (models .OneToOneRel )
292293def convert_field_to_djangomodel (field , registry = None ):
293294 model = field .related_model
294295
@@ -297,9 +298,14 @@ def dynamic_type():
297298 if not _type :
298299 return
299300
301+ if isinstance (field , models .OneToOneRel ):
302+ description = get_django_field_description (field .field )
303+ else :
304+ description = get_django_field_description (field )
305+
300306 return DjangoInstanceField (
301307 _type ,
302- description = get_django_field_description ( field ) ,
308+ description = description ,
303309 required = not field .null ,
304310 is_foreign_key = True ,
305311 )
Original file line number Diff line number Diff line change @@ -297,7 +297,15 @@ def instance_resolver(
297297 queryset = None
298298 unique_filter = {}
299299 if is_foreign_key :
300- pk = getattr (root , "{}_id" .format (info .field_name ))
300+ pk_name = "{}_id" .format (info .field_name )
301+ pk = None
302+ if hasattr (root , pk_name ):
303+ pk = getattr (root , pk_name )
304+ else :
305+ fk_obj = getattr (root , info .field_name )
306+ if fk_obj :
307+ pk = fk_obj .pk
308+
301309 if pk is not None :
302310 unique_filter ["pk" ] = pk
303311 unique_fields = ()
You can’t perform that action at this time.
0 commit comments