繁体   English   中英

重新评估 class 或使元内部 class 变得懒惰

[英]Re-evaluate class OR make meta inner class lazy

我真的无法弄清楚 - 已经为此工作了好几天。

在 django 我有:

 globalvariablename = "tablename"

 class foo (models.Model):
 # Some attributes I don't care about

     class Meta:
         db_table = globalvariablename

现在很明显,一旦导入 class / 实例化服务器, foo 和 Meta 都将被评估。

问题:我希望在更改db_table值后重新分配globalvariablename

我的问题:

  • 有没有办法让 Meta 内部 class 变得懒惰,即在使用 model 之前不对其进行评估(例如,当从数据库中获取数据时)?
  • 或者,一旦globalvariablename发生变化,有没有办法重新评估 Meta 的db_table属性?

任何帮助表示赞赏。 我真的在拔头发

我已经对装饰器进行了很多实验,即动态添加 Meta 内部 class。 这不起作用,因为一旦创建db_table就已经自动分配了 db_table,并且装饰它只会创建额外的 db_table 重复值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM