2
2

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 3 years have passed since last update.

【Django】Modelのテーブル名/カラム名を指定する方法

Posted at

はじめに

DjangoのModelで任意のテーブル名、カラム名を指定してデータベースにアクセスする方法について記載します。

環境

Django 3.0.x

テーブル名

DjangoのModelは、「アプリケーション名_クラス名」がデフォルトのテーブル名となります。
以下の例では、「アプリケーション名_Employee」がテーブル名となります。

from django.db import models

class Employee(models.Model):
  first_name = models.CharField()
  last_name = models.CharField()

任意のテーブル名を指定する場合は、Modelの内部クラスMetaのメタデータオプションでテーブル名を指定します。

from django.db import models

class Employee(models.Model):
  first_name = models.CharField()
  last_name = models.CharField()

  class Meta:
    db_table = '従業員'             # テーブル名:'従業員'

カラム名

DjangoのModelは、フィールド名がデフォルトのカラム名となります。
以下の例では、「first_name」と「last_name」がカラム名となります。

from django.db import models

class Employee(models.Model):
  first_name = models.CharField()
  last_name = models.CharField()

  class Meta:
    db_table = '従業員'

任意のカラム名を指定する場合は、各フィールドのフィールドオプションでカラム名を指定します。

from django.db import models

class Employee(models.Model):
  first_name = models.CharField(db_column='名')  # カラム名:'名'
  last_name = models.CharField(db_column='姓')   # カラム名:'姓'

  class Meta:
    db_table = '従業員'

おわりに

各オプションの詳細については、Django公式サイトにも説明がありますので、
そちらも参考にしていただければと思います。

2
2
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
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?