En dépit de nombreuses recettes et exemples dans la documentation de peewee; Je n'ai pas pu trouver comment effectuer ce qui suit:comment utiliser peewee Utilisation en tant que décorateur pour spécifier dynamiquement une base de données?
Pour un contrôle plus fin, consultez le gestionnaire de contexte à l'aide/décorateur. Cela vous permet de spécifier la base de données à utiliser avec une liste donnée de modèles pour la durée du bloc encapsulé.
Je suppose que ce serait quelque chose comme ...
db = MySQLDatabase(None)
class BaseModelThing(Model):
class Meta:
database = db
class SubModelThing(BaseModelThing):
'''imagine all the fields'''
class Meta:
db_table = 'table_name'
runtime_db = MySQLDatabase('database_name.db', fields={'''imagine field mappings here''', **extra_stuff)
@Using(runtime_db, [SubModelThing])
@runtime_db.execution_context()
def some_kind_of_query():
'''imagine the queries here'''
mais je n'ai pas trouvé des exemples, donc un exemple serait la réponse à cette question.