Я пробую MongoEngine , библиотеку DRM для Python для использования с MongoDB. Я могу определить модель, как этот пример с сайта:
class User(Document):
email = StringField(required=True)
first_name = StringField(max_length=50)
last_name = StringField(max_length=50)
Это работает как шарм, и MongoEngine действительно хорош. Что ж, я хочу пойти дальше и подумать, могу ли я определить свои модели где-нибудь в файле в формате JSON или YAML, или что-то еще, чтобы затем создать модель, используя ее. Таким образом, это объявление может выглядеть следующим образом в JSON:
{
"model":"User",
"fields":{
"email":{
"type":"string",
"required":"true"
},
"first_name":{
"type":"string",
"max_length":"50"
},
"last_name":{
"type":"string",
"max_length":"50"
}
}
}
Тогда я бы проанализировал этот JSON и создал модель, используя его. Может быть, это может быть просто одна операция импорта, которую я буду выполнять каждый раз, когда я изменяю определение модели, или может быть, это может каждый раз анализировать весь JSON. Это хороший сценарий? Я просто хочу позволить людям, которые будут использовать приложение, определять свои собственные модели, не копаясь в коде. Любые идеи, как сделать создание динамической модели приветствуются