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