from django.db import models
+from django.urls import reverse
+
from localmodels import HTMLField
# Create your models here.
class AuthorTag(BaseTag): pass
class WorkTag(BaseTag): pass
-class QuoteTag(BaseTag): pass
+class QuoteTag(BaseTag):
+ def get_absolute_url(self):
+ return reverse('quotes:tags', args=[str(self.id)])
class CommonData(models.Model):
creation_date = models.DateTimeField(auto_now_add=True)
"Notes about the entry; not displayed on \
the public interface")
+ nb_display = models.BigIntegerField(default=0)
+ def incr_display(self):
+ self.nb_display = models.F('nb_display') + 1
+ self.save()
+
class Meta(object):
abstract = True
help_text="Date of death (leave blank \
if still alive!)")
- def __str__(self):
+ def __unicode__(self):
return self.name
+ def get_absolute_url(self):
+ return reverse('quotes:author', args=[str(self.id)])
+
# class DatePrecision(models.CharField):
# DAY = "D"
# MONTH = "M"
tags = models.ManyToManyField(WorkTag, blank=True,
help_text='Not implemented yet')
- def __str__(self):
+ def __unicode__(self):
return "%s: %s (%s)" % (self.author.name, self.name, self.date)
+ def get_absolute_url(self):
+ return reverse('quotes:work', args=[str(self.id)])
+
class Quote(CommonData):
text = HTMLField()
tags = models.ManyToManyField(QuoteTag, blank=True)
work = models.ForeignKey(Work)
- def __str__(self):
+ def __unicode__(self):
return self.work.author.name + ": " + self.text
+
+ def get_absolute_url(self):
+ return reverse('quotes:onequote', args=[str(self.id)])