from django.conf import settings from django.db import models from django.utils.translation import gettext_lazy as _ class Announcement(models.Model): course = models.ForeignKey( "courses.Course", on_delete=models.CASCADE, related_name="announcements", ) body = models.TextField(_("body")) posted_by = models.ForeignKey( settings.AUTH_USER_MODEL, on_delete=models.SET_NULL, null=True, blank=True, related_name="posted_announcements", ) created_at = models.DateTimeField(_("created at"), auto_now_add=True) updated_at = models.DateTimeField(_("updated at"), auto_now=True) class Meta: verbose_name = _("announcement") verbose_name_plural = _("announcements") ordering = ["-created_at"] indexes = [models.Index(fields=["course", "-created_at"])] def __str__(self): return self.body[:60]