DjangoのModelでデフォルトを指定する方法を教えていただきたいです。
社員マスタには、メインの役割の情報があります。
社員のチームを作成するときに、基本的に社員はチームの中でメインの役割(社員マスタ)を担いますが、
時には、違う役割を担う時があります。
なので以下のコードのように、役割マスタ、社員マスタ、チームマスタを作成しました。
Python
1class Role(models.Model): 2 name = models.CharField(verbose_name='役割名', max_length=20, default='') 3 4class Employee(models.Model): 5 name = models.CharField(verbose_name='名前', max_length=20, default='') 6 role = models.ForeignKey('Role', verbose_name='メイン役割', default=0, on_delete=models.PROTECT) 7 8class Team(models.Model): 9 name = models.CharField(verbose_name='チーム名', max_length=20, default='') 10 employee = models.ForeignKey('Employee', verbose_name='社員', max_length=20, default=0, on_delete=models.PROTECT) 11 role = models.ForeignKey('Role', verbose_name='役割', max_length=20, default=<ここにメインの役割を入れたい>, on_delete=models.PROTECT)
チームに所属したときには、ほとんどがメインの役割で良いのでデフォルト値をメインの役割にしたいのですが、
どうすれば良いか教えて下さい。
Teamクラスで、emloyeeにアクセス出来れば出来そうなのですが・・・
Django: v2.1
あなたの回答
tips
プレビュー