2010-07-18 36 views
0

我正在做一个Django模型装饰器,它需要一个Django模型并给它一些额外的方法。Django模型子类没有改变数据库名称

Django使用以下命令为此模型创建数据库名称:'%s_%s' % (app_name, class_name)。在装饰模型时,表格名称突然从装饰器的应用程序名称和类名称中导出,而不是原始类型(这在Python中是正确的)。

但是,我想维护模型的原始表名,是否有办法告诉Django使用超类来确定数据库名称,或者一种方法来检索表名并将其应用于模型的Meta类。

回答

1
+0

没错,但以覆盖它。我可以获得超类的名称和应用程序名称,但是我假设它尚未被覆盖。如果有一种方法可以获得超级类的表名,并将'db_table'设置为该类,它就可以工作。 – 2010-07-18 18:42:02

+0

已更新。检查代理对象,看看是否足够:-) – eruciform 2010-07-18 18:44:14

+0

谢谢eruciform,我也发现了。 '代理=真'这个招数欢呼! – 2010-07-18 18:50:56

相关问题