From d3a30d40b3d2f4e280340fa1c7497358a6bcac99 Mon Sep 17 00:00:00 2001 From: auvipy Date: Thu, 21 Apr 2016 00:44:33 +0600 Subject: [PATCH] converted get_pk to use remote field --- rest_framework/utils/model_meta.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/rest_framework/utils/model_meta.py b/rest_framework/utils/model_meta.py index c3424a679..8859cb59c 100644 --- a/rest_framework/utils/model_meta.py +++ b/rest_framework/utils/model_meta.py @@ -12,6 +12,7 @@ from django.apps import apps from django.core.exceptions import ImproperlyConfigured from django.db import models from django.utils import six +from rest_framework.compat import get_remote_field FieldInfo = namedtuple('FieldResult', [ 'pk', # Model field instance @@ -76,9 +77,10 @@ def get_field_info(model): def _get_pk(opts): pk = opts.pk - while pk.rel and pk.rel.parent_link: + remote_field = get_remote_field(pk) + while remote_field and remote_field.parent_link: # If model is a child via multi-table inheritance, use parent's pk. - pk = pk.rel.to._meta.pk + pk = remote_field.to._meta.pk return pk