From 50b3c05eb326a8d32cd08522c0a72e765355498f Mon Sep 17 00:00:00 2001 From: Marcin Lubimow Date: Mon, 9 Oct 2017 08:16:35 +0100 Subject: [PATCH] Fix for key collision --- rest_framework/schemas/generators.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/rest_framework/schemas/generators.py b/rest_framework/schemas/generators.py index 4a2aeac36..77e96b85f 100644 --- a/rest_framework/schemas/generators.py +++ b/rest_framework/schemas/generators.py @@ -71,9 +71,13 @@ class LinkNode(OrderedDict): super(LinkNode, self).__init__() def get_next_key(self, method): - current_val = self.methods_counter[method] - self.methods_counter[method] += 1 - return '{}_{}'.format(method, current_val) + while True: + current_val = self.methods_counter[method] + self.methods_counter[method] += 1 + + key = '{}_{}'.format(method, current_val) + if key not in self: + return key def insert_into(target, keys, value):