首页 > 解决方案 > 自动将 Django 模型的表名设置为其类的名称

问题描述

目前,我的大多数模型如下所示:

class A(models.Model):
    # model attributes
    class Meta:
        db_table = 'A'

class B(models.Model):
    # model attributes
    class Meta:
        db_table = 'B'

有没有办法自动做到这一点?我尝试在定义类后添加元类,但由于 Django 如何处理模型的元类,这不起作用。我只是坚持手动定义元类吗?

标签: djangopython-3.xdjango-models

解决方案


不知道你为什么要这样做,但你可以这样做:

for model in models:
    model._meta.db_table = model.__class__.__name__

推荐阅读