У меня проблема с генерацией кода из Swagger-Codegen.
Я создал следующие определения объектов с помощью Swagger:
...
definitions:
Object1:
type: "object"
properties:
id:
type: "integer"
format: "int64"
obj2:
$ref: "#/definitions/Object2"
Object2:
type: "object"
properties:
id:
type: "integer"
format: "int64"
name:
type: "string"
...
Затем я экспортировал файл YAML и создал сервер-заглушку для python-flask.
Когда я пытаюсь запустить фляжный сервер, я получаю сообщение об ошибке:
NameError: name 'Object2' is not defined
Файл __init__.py
был сгенерирован автоматически и содержит импорт для классов обеих моделей:
from swagger.models.object1 import Object1
from swagger.models.object2 import Object2
Если я добавлю импорт в класс Object2
, вместо этого я получаю эту ошибку:
object1.py
from swagger.models import Object2
ImportError: cannot import name 'Object2' from partially initialized module 'swagger.models' (most likely due to a circular import)
Ошибка устраняется, только если я добавлю этот импорт в object1.py:
from swagger.models.object2 import Object2
Поскольку код сгенерирован и любые изменения будут потеряны, есть ли способ импортировать класс Object2
?
Я попытался отредактировать шаблон model.mustache, но не смог найти способ разрешить импорт нужных мне моделей.
Спасибо всем, кто может мне помочь.