33 lines
1.1 KiB
Python
33 lines
1.1 KiB
Python
from django.db import models
|
|
|
|
import uuid
|
|
|
|
|
|
class Podcast(models.Model):
|
|
uuid = models.UUIDField(default=uuid.uuid4, unique=True)
|
|
slug = models.CharField(max_length=10)
|
|
title = models.CharField(max_length=50)
|
|
author = models.CharField(max_length=200)
|
|
description = models.TextField(max_length=4000)
|
|
image = models.ImageField()
|
|
language = models.CharField(max_length=10) #TODO: Add Text Choices, ISO 639
|
|
# iTunes-category (Optional), String
|
|
published = models.BooleanField(default=False)
|
|
homepage = models.URLField()
|
|
|
|
def __str__(self):
|
|
return self.title
|
|
|
|
|
|
class PodcastEpisode(models.Model):
|
|
uuid = models.UUIDField(default=uuid.uuid4)
|
|
title = models.CharField(max_length=200)
|
|
audio_file = models.FileField(upload_to="episodes/")
|
|
pub_date = models.DateTimeField()
|
|
description = models.TextField()
|
|
duration = models.DurationField()
|
|
podcast = models.ForeignKey("Podcast", on_delete=models.CASCADE)
|
|
episode_number = models.IntegerField()
|
|
season_number = models.IntegerField()
|
|
published = models.BooleanField(default=False)
|