From 30553f7bed0ee347768955c2efd71bdbd3d78626 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 | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/rest_framework/schemas/generators.py b/rest_framework/schemas/generators.py index 4a2aeac3660..b9c6a3cc3bc 100644 --- a/rest_framework/schemas/generators.py +++ b/rest_framework/schemas/generators.py @@ -70,11 +70,17 @@ def __init__(self): self.methods_counter = Counter() super(LinkNode, self).__init__() - def get_next_key(self, method): + def _generate_next_key(self, method): current_val = self.methods_counter[method] self.methods_counter[method] += 1 return '{}_{}'.format(method, current_val) + def get_next_key(self, method): + while True: + key = self._generate_next_key(method) + if key not in self: + return key + def insert_into(target, keys, value): """