Задать вопрос
Ответы пользователя по тегу Django
  • Как автоматически создавать и добавлять экземпляры одной модели в другую?

    AkiroToshiro
    @AkiroToshiro Автор вопроса
    Вот что у меня получилось, если кому нужно. Я все делал не правильно с самого начала, и когда понял все пошло нормально.
    class GradeBook(models.Model):
        group_id = models.ForeignKey(StudentsGroup, on_delete=models.CASCADE)
        lesson = models.ForeignKey(Lesson, on_delete=models.CASCADE)
        date = models.DateField(blank=False)
    
    
    class Grade(models.Model):
        value = models.CharField(max_length=3, blank=True, default='')
        student_id = models.ForeignKey(Profile, blank=False, on_delete=models.CASCADE)
        gradebook = models.ForeignKey(GradeBook, on_delete=models.CASCADE, blank=False)
    
    
    @receiver(post_save, sender=GradeBook)
    def create_grades(sender, instance, created, **kwargs):
        if created:
           get_students = Profile.objects.all().filter(student_group=instance.group_id)
    
           for student in get_students:
               new_grade = Grade(student_id=Profile.objects.get(id=student.id), gradebook=instance)
               new_grade.save()
    Ответ написан
    Комментировать