1

いくつかのモデル間の選択のセットアップに関する推奨事項を求めています。あるモデルで可能な選択肢は、以前に選択した別のモデルの選択肢に依存します。

私は、2 人の別々の聴衆、特に学部生と同等の大学院生に対応したい製品を持っています。学校、学年、およびこれらの学校内のコースを追跡しています。この設定では、学生は、学部生の場合は新入生、2 年生、3 年生、4 年生、またはその他のいずれかである必要があり、大学院生の場合は、1 年生、2 年生、3 年生、4 年生、またはその他のいずれかである必要があります。私の質問は、学校が具体的に「学部」または「大学院」のタイプである場合、これが年の選択に反映され、以前に指定された学校のタイプに固有の選択に制限されるように、外部キーの選択をどのように設定するのが最善かということです. いくつかのモデル例:

class StudentType(models.Model):
    STUDENT_TYPE_CHOICES = (
        ('graduate', 'Graduate'),
        ('undergrad', 'Undergraduate'),
    )
    name = models.CharField(max_length=100, choices=STUDENT_TYPE_CHOICES)


class School(models.Model):
    name = models.CharField(max_length=100, unique=True)
    student_type = models.ForeignKey(StudentType)


class Year(models.Model):
    name = models.CharField(max_length=100, choices=????)
    school = models.ForeignKey(School, related_name="years")

choices年式の名前欄のパラメータをご記入いただければ幸いです。前述のように、このパラメーターはモデルの流派に依存します。これは可能性がありますか?すべての選択肢 (学部と大学院の選択肢) を単純に組み合わせる必要がありますか?

4

0 に答える 0