import datetime from django.db import models from django.urls import reverse from django.utils import timezone from django.utils.html import format_html from taggit.managers import TaggableManager from utils.util import markdown_to_html #class LuxProject(models.Model): class LuxNote(models.Model): title = models.CharField(max_length=200) url = models.CharField(max_length=400, blank=True, null=True) description = models.TextField(blank=True, null=True) body_markdown = models.TextField(null=True, blank=True) body_html = models.TextField(blank=True) date_created = models.DateTimeField(auto_now=True) #project = models.ForeignKey(LuxProject, on_delete=models.SET_NULL, null=True, blank=True) tags = TaggableManager(blank=True) class Meta: ordering = ('-date_created',) get_latest_by = 'date_created' def __str__(self): return self.title def admin_link(self): return format_html('Visit Site' % (self.url)) admin_link.short_description = 'Link' def save(self, *args, **kwargs): if self.body_markdown: self.body_html = markdown_to_html(self.body_markdown) super(LuxNote, self).save(*args, **kwargs) def get_absolute_url(self, *args, **kwargs): return reverse('notes:note-edit', kwargs={"pk": self.pk})