From e84a924473097ab2f7ed81ec2a72c2a27e706993 Mon Sep 17 00:00:00 2001 From: illes Date: Tue, 2 Apr 2019 16:11:56 +0200 Subject: [PATCH] fix Namespace.clone()/.inherit() not honoring .ordered property like .model() does --- flask_restplus/namespace.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/flask_restplus/namespace.py b/flask_restplus/namespace.py index a551a054..31232eb2 100644 --- a/flask_restplus/namespace.py +++ b/flask_restplus/namespace.py @@ -164,11 +164,12 @@ def extend(self, name, parent, fields): :deprecated: since 0.9. Use :meth:`clone` instead ''' + cls = OrderedModel if self.ordered else Model if isinstance(parent, list): parents = parent + [fields] - model = Model.extend(name, *parents) + model = cls.extend(name, *parents) else: - model = Model.extend(name, parent, fields) + model = cls.extend(name, parent, fields) return self.add_model(name, model) def clone(self, name, *specs): @@ -181,7 +182,8 @@ def clone(self, name, *specs): .. seealso:: :meth:`Model.clone` ''' - model = Model.clone(name, *specs) + cls = OrderedModel if self.ordered else Model + model = cls.clone(name, *specs) return self.add_model(name, model) def inherit(self, name, *specs): @@ -190,7 +192,8 @@ def inherit(self, name, *specs): .. seealso:: :meth:`Model.inherit` ''' - model = Model.inherit(name, *specs) + cls = OrderedModel if self.ordered else Model + model = cls.inherit(name, *specs) return self.add_model(name, model) def expect(self, *inputs, **kwargs):