0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Django】テーブル名にアプリの名前をつけない

Posted at

はじめに

Djangoのmodels.pyをmigratしてDBにテーブルを作成した場合、テーブル名の頭にアプリの名前がついてしまいます。
appという名前でアプリを作成し、python manage.py startapp app
以下のようなmodels.pyを作ったとすると

models.py
class Reporter(models.Model):
    full_name = models.CharField(max_length=70)

テーブル名はapp_reporterになります。
(↓DBを直接確認してみるとテーブル名称が確認できます。)

postgres-# \dt
                   List of relations
 Schema |            Name            | Type  |  Owner
--------+----------------------------+-------+----------
 public | app_reporter               | table | postgres
 public | auth_group                 | table | postgres
 public | auth_group_permissions     | table | postgres
 public | auth_permission            | table | postgres
 public | auth_user                  | table | postgres
 public | auth_user_groups           | table | postgres
 public | auth_user_user_permissions | table | postgres
 public | django_admin_log           | table | postgres
 public | django_content_type        | table | postgres
 public | django_migrations          | table | postgres
 public | django_session             | table | postgres
(11 rows)

テーブル名にいちいちアプリ名がつくのは後々面倒なため、アプリ名を消す方法を調べた結果を残します。

環境

  • Django==4.2.6
  • DB postgres

手順

models.pyで該当のMetaクラスにdb_table = 'テーブル名'と追記します。

models.py
class Reporter(models.Model):
    full_name = models.CharField(max_length=70)

    def __str__(self):
        return self.full_name
    
    class Meta:
        db_table = 'Reporter'

指定したテーブル名称に変更されました。

 Schema |            Name            | Type  |  Owner
--------+----------------------------+-------+----------
 public | Reporter                   | table | postgres

おわりに

メンテナンスするときのために、わかりやすいテーブル名称にしたいです。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?