Как изменить статус колонки в модели в django
Я создаю систему управления заданиями, Я хочу, чтобы каждый раз, когда кто-то загружает сообщение в ответ на это задание, я хотел бы изменить статус с ожидающего, Я установлю все на странице шаблона, но сейчас я чувствую, что у меня есть небольшая проблема с базой данных.
class Assignment(models.Model):
assignment_creator = models.ForeignKey(
Teacher, on_delete=models.CASCADE, related_name="assignments")
assignment_title = models.CharField(max_length=30)
class Submissions(models.Model):
submitted_by = models.ForeignKey(Student, on_delete=models.CASCADE)
submission_file = models.FileField(null=False, blank=True, default='')
submitted_to = models.ForeignKey(
Teacher, on_delete=models.CASCADE, null=True)
submission_title = models.ForeignKey(
Assignment, on_delete=models.CASCADE, null=True, blank=True)
submission_status = models.BooleanField(default=False)
Есть ли способ узнать, какое из заданий, относящихся к данному названию задания, загружено, чтобы я мог изменить статус
Я не понимаю вашего замысла, потому что когда создается представление, оно уже должно быть связано с заданием (потому что студент делает представление в ответ на задание). Но если вы действительно хотите установить submission_title
позже, вы могли бы переопределить метод save
:
class Assignment(models.Model):
assignment_creator = models.ForeignKey(
Teacher, on_delete=models.CASCADE, related_name="assignments")
assignment_title = models.CharField(max_length=30)
class Submissions(models.Model):
submitted_by = models.ForeignKey(Student, on_delete=models.CASCADE)
submission_file = models.FileField(null=False, blank=True, default='')
submitted_to = models.ForeignKey(
Teacher, on_delete=models.CASCADE, null=True)
submission_title = models.ForeignKey(
Assignment, on_delete=models.CASCADE, null=True, blank=True)
submission_status = models.BooleanField(default=False)
def save(self, *args, **kwargs):
if self.submission_title != None and not submission_status:
self.submission_status = True
super.save(*args, **kwargs)