(Заглавные объекты в процессе).
Считается ли это законным, моя цель состоит в том, чтобы иметь 3 отдельных объекта (причина этого заключается в том, чтобы позволить мне назначить конкретную школу + специальность конкретным профессорам). Когда пользователь должен выбрать ШКОЛУ, я хочу, чтобы мой веб-сайт вытягивал ОСНОВНЫЕ ОБРАЗОВАНИЯ, которые конкретно соответствуют этой ШКОЛЕ, и когда они выбирают ОСНОВНЫЕ, я хочу, чтобы отображались конкретные ПРОФЕССОРЫ.
Логическая связь между нижеприведенными объектами (бизнес-правила)
ШКОЛА должна быть отношением «многие ко многим» с ОСНОВНЫМ:
- В одной ШКОЛЕ может быть МНОГО специальностей
- У одной специальности может быть МНОЖЕСТВО ШКОЛ
Профессор
- ПРОФЕССОР может работать в ОДНОЙ ШКОЛЕ и преподавать ОДНУ ОСНОВНУЮ
- майор может преподаваться МНОГИМИ ПРОФЕССОРАМИ во МНОГИХ ШКОЛАХ
Итак, моя трудность заключается в написании логики моделей, чтобы гарантировать выполнение всех условий, информация, установленная перед правилами, — это опыт, который я хочу, чтобы мои пользователи имели, когда дело доходит до информации, извлеченной из базы данных на веб-сайт, и логика ниже Это.
from django.db import models
class Professor(models.Model):
School = models.ForeignKey(School , on_delete=models.CASCADE)
Major = models.ForeignKey(Major , on_delete=models.CASCADE)
class Major(models.Model):
Major = models.CharField(max_length=30)
School = models.ForeignKey(School , on_delete=models.CASCADE)
class School(models.Model):
School = models.Charfield(max_length=50)
Кроме того, если у вас есть какие-либо рекомендации по тому, как сделать эту логику более понятной, я был бы очень признателен!