17 lines
647 B
Python
17 lines
647 B
Python
from django.core.exceptions import ValidationError
|
|
from django.db.models.signals import m2m_changed
|
|
from django.dispatch import receiver
|
|
|
|
from .models import CourseSessionGroup
|
|
|
|
|
|
@receiver(m2m_changed, sender=CourseSessionGroup.course_session.through)
|
|
def validate_course(sender, instance, action, reverse, model, pk_set, **kwargs):
|
|
if action == "pre_add":
|
|
course_sessions = model.objects.filter(pk__in=pk_set)
|
|
for session in course_sessions:
|
|
if session.course != instance.course:
|
|
raise ValidationError(
|
|
"CourseSession does not match the Course of this Group."
|
|
)
|