SSブログ

1.6 モデルクラスの作成(DJango 2.2.7) [Django]

前回説明を飛ばしたモデルの説明をしたいと思います。

◆クラス名は下記にしました。
判定マスタ:M_Judgmentクラス
応募経路マスタ:M_Appl_Routeクラス
業務経歴マスタ:M_Work_Historyクラス
部マスタ:M_Departmentクラス
応募者情報:T_Applicant_infoクラス
判定テーブル:T_Judgmentクラス

ER図
WS000013.JPG



◆各列情報を定義するフォーマットは下記となります。
 列名 = データ型(データ型に対するパラメータ指定)
 データ型、AutoField, ForeignKey, CharField, DateFieldなど様々なものがあります。
詳細は他のサイトでお願いします。


◆全部説明するのもあれなので判定テーブルだけ説明します。
 判定テーブル(T_Judgmentクラス)
 1.判定テーブルキー列(key_judgment)
  プライマリキーで自動で値が割振られる列となります。
 2.部INDEX列(key_department)
  部マスタ(M_Department)をカスケードしているのでパラメータにクラス名を指定している。
  on_delete=models.PROTECTは、参照しているデータが存在していたら削除できない指定。
 3.応募者情報キー列(key_applicant)
  応募者情報(T_Applicant_info)をカスケードしているのでパラメータにクラス名を指定している。
  on_delete=models.CASCADEは、参照しているデータが存在していたら一緒に削除される指定。
 4.優先順番列(judgment_index)
  三つの部を登録する仕様なので、必然的に1~3までとなるので
  choicesパラメータをしている。(12行目)
  こうする事により、画面側では、1~3のコンボボックスをDJangoが表示してくれます。
 5.判定列(judgment)
  判定マスタ(M_Judgment)をカスケードしているのでパラメータにクラス名を指定している。

#判定テーブル
class T_Judgment(models.Model):
    #
    CONST_JUDGMENT_INDEX = (( 1, '1'), (2, '2'), (3, '3'))
    #判定テーブルキー
    key_judgment = models.AutoField(primary_key=True)
    #部INDEX
    key_department = models.ForeignKey(M_Department, null=False, on_delete=models.PROTECT, verbose_name='本部')
    #応募者情報キー
    key_applicant = models.ForeignKey(T_Applicant_info, null=False, on_delete=models.CASCADE, verbose_name='応募者情報Key')
    #優先順番
    judgment_index = models.IntegerField(null=False, verbose_name='優先順位', choices=CONST_JUDGMENT_INDEX)
    #判定
    judgment = models.ForeignKey(M_Judgment, null=True, on_delete=models.PROTECT, verbose_name='面談実施判定')
    #更新者
    u_user = models.CharField(max_length=100, verbose_name='更新者')
    #更新日
    u_date = models.DateTimeField(verbose_name='更新日時',auto_now=True)
    def __str__(self):
        return str(self.key_judgment)





全てのmodelは下記を参照。
https://github.com/MakotoPlus/PycharmProjects3/blob/master/Recruitment/applicantctl/models.py






タグ:MODEL Django
nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。