Skip to content
Snippets Groups Projects
models.py 748 B
Newer Older
Eliot Berriot's avatar
Eliot Berriot committed
from django.utils import timezone

from funkwhale_api.music.models import Track


class Listening(models.Model):
Eliot Berriot's avatar
Eliot Berriot committed
    creation_date = models.DateTimeField(default=timezone.now, null=True, blank=True)
    track = models.ForeignKey(
Eliot Berriot's avatar
Eliot Berriot committed
        Track, related_name="listenings", on_delete=models.CASCADE
    )
    user = models.ForeignKey(
Eliot Berriot's avatar
Eliot Berriot committed
        "users.User",
        related_name="listenings",
        null=True,
        blank=True,
Eliot Berriot's avatar
Eliot Berriot committed
        on_delete=models.CASCADE,
    )
    session_key = models.CharField(max_length=100, null=True, blank=True)

    class Meta:
Eliot Berriot's avatar
Eliot Berriot committed
        ordering = ("-creation_date",)
    def get_activity_url(self):
Eliot Berriot's avatar
Eliot Berriot committed
        return "{}/listenings/tracks/{}".format(self.user.get_activity_url(), self.pk)