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)
def __str__(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"
def __str__(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)
def __str__(self):
return self.work.author.name + ": " + self.text
+
+ def get_absolute_url(self):
+ return reverse('quotes:onequote', args=[str(self.id)])
Hide details</a></p>
<p class="author">
— <span class="name">
- <a href="{% url 'quotes:author' quote.work.author.id %}"
+ <a href="{{ quote.work.author.get_absolute_url }}"
class="author_name">{{ quote.work.author.name }}</a>,
- <a href="{% url 'quotes:work' quote.work.id %}"
+ <a href="{% quote.work.get_absolute_url }}"
class="work_name">{{ quote.work.name }}</a>
</span>
</p>
<p class="tags">
Tags:
{% for tag in quote.tags.all %}
- <a href="{% url 'quotes:tags' tag.id %}" class="tag_link"
+ <a href="{{ tag.get_absolute_url }}" class="tag_link"
>{{ tag.tag }}</a
>{% if not forloop.last %}, {% endif %}
{% endfor %}
</div> <!-- /hidden_details -->
</div> <!-- /details -->
<p class="permalink">
- <a href="{% url 'quotes:onequote' quote.id %}">Permalink</a>
+ <a href="{{ quote.get_absolute_url }}">Permalink</a>
</p>
</div>