-1
私は自分のプロジェクトに適切な質問を得るのに苦労しています。どのようにして特定のモジュールで最後のレッスンを受けることができますか?モジュールの最後のレッスンが完了したときにユーザーにメッセージを表示しようとしました。つまり、「おめでとうがモジュールを完了しました」というメッセージが表示されるのは、モジュールの最後のレッスンが完了した後でなければなりません。最後の要素i django foreignkey
class Module(models.Model):
DRAFT = 1
SUSPENDED = 2
PUBLISHED = 3
MODULE_STATUSES = (
(DRAFT, _("Draft")),
(SUSPENDED, _("Suspended")),
(PUBLISHED, _("Published"))
)
course = models.ForeignKey(Course)
name = models.CharField(verbose_name=_("Module Name"), max_length=200, help_text=_('The module title'))
description = models.TextField(verbose_name="Module Description", help_text=_("Module description"))
prerequisite = models.ForeignKey('self', verbose_name=_("Prerequisite Module"), null=True, blank=True, default=None)
slug = models.SlugField(editable=False, help_text=_('Unique identifier'))
status = models.IntegerField(verbose_name="Module Status", choices=MODULE_STATUSES, default=PUBLISHED)
position = PositionField(collection='course', default=0)
end_of_module = models.TextField(verbose_name=_("Module Summary"), default=None, null=True, help_text=_("Wrap and summarize this module"))
last_module = models.ForeignKey('self', verbose_name=_("Previous Module"), null=True, blank=True, default=None, related_name="previous_module")
next_module = models.ForeignKey('self', verbose_name=_("Next Module"), null=True, blank=True, default=None, related_name="the_next_module")
class Meta:
verbose_name_plural = "Modules"
def __unicode__(self):
return self.name
def get_absolute_url(self):
return reverse('module_detail', args=[self.slug])
class Lesson(models.Model):
module = models.ForeignKey(Module)
name = models.CharField(verbose_name=_("Lesson Title"), max_length=200, help_text=_('The lesson title'))
prerequisite = models.ForeignKey('self', verbose_name=_("Prerequisite Lesson"), null=True, blank=True, default=None)
content = models.TextField()
instructions_before = models.TextField(verbose_name=_("Instructions before exercise"), null=True, blank=True, default=None)
instructions_after = models.TextField(verbose_name=_("Instructions after exercise"), null=True, blank=True, default=None)
quizzes = models.ManyToManyField(Quiz, verbose_name=_("Quiz"), blank=True, related_name='lessons')
slug = models.SlugField(editable=False, help_text=_('Unique identifier'))
exercises = models.ManyToManyField(Exercise, verbose_name=_("Exercise"), blank=True, related_name='lesson_exercises')
position = PositionField(collection='module', default=0)
class Meta:
verbose_name = _("Lesson")
verbose_name_plural = _("Lessons")
def __unicode__(self):
return self.name