Coverage for learning_logs/models.py: 100.00%
21 statements
« prev ^ index » next coverage.py v7.16.2, created at 2026-10-12 08:03 -0700
« prev ^ index » next coverage.py v7.16.2, created at 2026-10-12 08:03 -0700
1from django.contrib.auth import get_user_model 1a
2from django.db import models 1a
3from django.urls import reverse 1a
6class Topic(models.Model): 1a
7 """A topic the user is learning about."""
9 text = models.CharField(max_length=200) 1a
10 date_added = models.DateTimeField(auto_now_add=True) 1a
11 owner = models.ForeignKey(get_user_model(), on_delete=models.CASCADE) 1a
13 def __str__(self): 1a
14 """Return a string representation of the model."""
15 return self.text 1a
17 def get_absolute_url(self): 1a
18 return reverse("topic", args=[str(self.id)]) 1a
21class Entry(models.Model): 1a
22 """Something specific learned about a topic."""
24 topic = models.ForeignKey(Topic, on_delete=models.CASCADE) 1a
25 text = models.TextField() 1a
26 date_added = models.DateTimeField(auto_now_add=True) 1a
28 class Meta: 1a
29 verbose_name_plural = "entries" 1a
31 def __str__(self): 1a
32 """Return a string representation of the model."""
33 if len(self.text[:]) < 50: 1a
34 return f"{self.text}" 1a
35 else:
36 return f"{self.text[:50]}..." 1a