はじめはForeginKeyを使って実現しようとしましたが、一つのモデルに同じモデルを使ったForeginKeyを複数設定しようとしたらエラーが出ました。調べたところ、ForeignKeyにrelated_nameという引数を設定する必要があるとのことでした。
python
1class Class(models.Model):
2 code = models.CharField(verbose_name="講義コード", max_length=10)
3 name = models.CharField(verbose_name="講義名", max_length=20)
4
5 def __str__(self):
6 return self.code
7
8class User(AbstractUser):
9 klass1 = models.ForeignKey(Class, verbose_name="履修科目1", related_name="klass1_member", null=True, on_delete=models.SET_NULL)
10 klass2 = models.ForeignKey(Class, verbose_name="履修科目2", related_name="klass2_member", null=True, on_delete=models.SET_NULL)
11 klass3 = models.ForeignKey(Class, verbose_name="履修科目3", related_name="klass3_member", null=True, on_delete=models.SET_NULL)
12 klass4 = models.ForeignKey(Class, verbose_name="履修科目4", related_name="klass4_member", null=True, on_delete=models.SET_NULL)
13 klass5 = models.ForeignKey(Class, verbose_name="履修科目5", related_name="klass5_member", null=True, on_delete=models.SET_NULL)