models.py 839 B

12345678910111213141516171819202122232425262728
  1. from django.db import models
  2. from django.utils.translation import gettext_lazy as _
  3. class MenuItem(models.Model):
  4. MENU_BOTH = "both"
  5. MENU_NAVBAR = "navbar"
  6. MENU_FOOTER = "footer"
  7. MENU_CHOICES = [
  8. (MENU_BOTH, _("Navbar and footer")),
  9. (MENU_NAVBAR, _("Navbar")),
  10. (MENU_FOOTER, _("Footer")),
  11. ]
  12. menu = models.CharField(max_length=6, choices=MENU_CHOICES)
  13. title = models.CharField(max_length=255)
  14. url = models.URLField()
  15. order = models.IntegerField(default=0)
  16. css_class = models.CharField(max_length=255, null=True, blank=True)
  17. target_blank = models.BooleanField(default=False)
  18. rel = models.CharField(max_length=255, null=True, blank=True)
  19. class Meta:
  20. ordering = ("order",)
  21. get_latest_by = "order"
  22. def __str__(self):
  23. return self.title