モデル継承する事ってできる?

はい、Djangoではモデルの継承が可能です。モデルの継承を使用すると、共通のフィールドやメソッドを持つ基底モデルを定義し、それを他のモデルで拡張することができます。これにより、コードの再利用性が向上し、簡潔で管理しやすいモデルを構築することができます。

以下は、モデルの継承を使用した例です。

python
from django.db import models # 基底モデル class BaseModel(models.Model): created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) class Meta: abstract = True # ベースモデルはデータベースに保存されない(抽象モデル) # RakutenItem モデル class RakutenItem(BaseModel): itemCode = models.CharField(max_length=255) itemName = models.CharField(max_length=255) # 他のフィールドも必要に応じて追加 # RakutenItem_2 モデル(RakutenItem を継承) class RakutenItem_2(RakutenItem): extra_field = models.CharField(max_length=255) # 他のフィールドも必要に応じて追加

この例では、BaseModel を基底モデルとして定義し、共通の created_atupdated_at フィールドを提供しています。そして、RakutenItem モデルと RakutenItem_2 モデルがこの BaseModel を継承しています。RakutenItem_2 モデルでは追加のフィールドを定義しています。

このようにして、RakutenItem_2 モデルは RakutenItem モデルのすべてのフィールドとメソッドを継承し、さらに追加のフィールドを持つことができます。

未分類

Posted by ぼっち