【发布时间】:2011-03-02 10:55:38
【问题描述】:
在我开始使用 django 为其编写 Web 界面之前,我有一个已被其他应用程序使用的数据库。表名遵循简单的命名标准,因此 django 模型 Customer 应该映射到 db 中的表“customer”。同时我正在添加新的表格/模型。因为我发现每次我必须在其他应用程序中编写查询时使用 app_customer 很麻烦(django 的 ORM 对他们来说绝对不够),而且我不想重命名现有的表,所以最好的方法是什么?我的 django 应用程序中的模型使用不带 applabel_ 的表,除了向每个模型添加带有 db_table= 的 Meta 类?
我有什么理由不应该这样做吗?我只有一个需要访问这个数据库的网络应用程序,其他一切都不使用 django 模型。
【问题讨论】:
-
而不使用Meta类的原因是……?听起来你在说,“我想开车,但我不想用手。”
-
原因是,django 自动以这种方式命名表,我应该能够禁用它并自动以我的方式命名。我什至不想要深奥的名字,只想要类的名字,就像 django 一样,除了 applabel_ 位。向每个类添加 Meta: db_table = className.lower() 似乎很愚蠢和重复。
标签: database django django-models