Djangoモデル定義
下のソースコードはエラーを修正した後のものになります。
from django.db import models
class testee(models.Model):
testee_name = models.CharField(
max_length=30,
verbose_name='受審者'
)
grade_id = models.IntegerField()
class grade(models.Model):
GRADE_CHOICES = (
(1, "初段"),
(2, "二段"),
(3, "三段"),
(4, "四段"),
(5, "五段"),
(6, "六段"),
(7, "練士"),
(8, "七段"),
(9, "教士"),
)
grade_name = models.CharField(
max_length=4,
verbose_name='段位',
choices=GRADE_CHOICES
)
exam_grade = models.CharField(
max_length=4,
choices=GRADE_CHOICES,
verbose_name='受審段位'
)
class scoringsheet(models.Model):
POINT_CHOICES = (
(0.0, "0.0"),
(0.5, "0.5"),
(1.0, "1.0"),
(1.5, "1.5"),
(2.0, "2.0"),
(2.5, "2.5"),
(3.0, "3.0"),
(3.5, "3.5"),
(4.0, "4.0"),
(4.5, "4.5"),
(5.0, "5.0"),
(5.5, "5.5"),
(6.0, "6.0"),
(6.5, "6.5"),
(7.0, "7.0"),
(7.5, "7.5"),
(8.0, "8.0"),
(8.5, "8.5"),
(9.0, "9.0"),
(9.5, "9.5"),
(10.0, "10.0"),
)
RESULT_CHOICES = (
(0, "不合格"),
(1, "合格"),
)
testee_name = models.CharField(
max_length=30,
verbose_name='受審者'
)
exam_grade = models.CharField(
max_length=4,
verbose_name='段位'
)
score1 = models.FloatField(
choices=POINT_CHOICES
)
score2 = models.FloatField(
choices=POINT_CHOICES
)
score3 = models.FloatField(
choices=POINT_CHOICES
)
score4 = models.FloatField(
choices=POINT_CHOICES
)
score5 = models.FloatField(
choices=POINT_CHOICES
)
pratical_points = models.FloatField()
pratical_result = models.CharField(
max_length=6,
choices=RESULT_CHOICES
)
written_points = models.FloatField()
written_result = models.CharField(
max_length=6,
choices=RESULT_CHOICES
)
judgement = models.CharField(
max_length=6,
choices=RESULT_CHOICES
)
class markers(models.Model):
marker_name = models.CharField(
max_length=30,
verbose_name='審査員'
)
マイグレーション
migrationとは、Djangoにどんなデータを格納するのか。という事を指定するコマンドです。
データベースの定義を変更するたびに行う必要があります。
現在作成しているアプリでは下記のディレクトリでコマンドを打ちます。
project
┗ scoring-sheet
┗ scoringsheet<= このディレクトリへ移動します。
> ./manage.py makemigrations
画面がいろいろ動いて、
エラーになりました。
なんか無駄に全角文字を使ってしまったようです。
なので、修正して。
...その後も幾多のエラーが出ましたが、メッセージを確認しながら修正して
成功した模様です。
これで、データベースモデルのマイグレーションファイルが出来ました。
マイグレーションファイルが出来たら、マイグレーションを実行します。
> manage.py migrate
画面がいろいろ動いて、
いろんな設定が確認されて、マイグレーション成功です。
これで、データベース定義が出来ました。