我可以在Django上自动更改DB表名称吗?

时间:2016-03-01 03:14:15

标签: python django database

我想在Django1.9上更改数据库表名。我知道我们可以用“db_table”更改标准问题。

Class Foo_Bar:

    class Meta:
        db_table = "foo_bar"

但我需要在每一堂课中都写出来,这很烦人。 我希望Django自动创建一个名为低级类名的表。 但我不知道该怎么做。

我甚至尝试使用

self.__class__.name__.lower()

但是,我不知道Meta如何运作良好。

任何建议都有帮助。

谢谢。

1 个答案:

答案 0 :(得分:1)

一个非常hack-ish方法,但是这段代码会给你外部(因为你想获得Foo_Bar,而不是Meta)类名:

import traceback

Class Foo_Bar:
    ...
    class Meta:
        db_table = traceback.extract_stack()[-2][2].lower()