Я пробую 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. Это хороший сценарий? Я просто хочу позволить людям, которые будут использовать приложение, определять свои собственные модели, не копаясь в коде. Приветствуются любые идеи по созданию динамической модели