| 150 | |
| 151 | |
| 152 | class EPGData(models.Model): |
| 153 | tvg_id = models.CharField(max_length=255, null=True, blank=True, db_index=True) |
| 154 | name = models.CharField(max_length=512) |
| 155 | icon_url = models.URLField(max_length=500, null=True, blank=True) |
| 156 | epg_source = models.ForeignKey( |
| 157 | EPGSource, |
| 158 | on_delete=models.CASCADE, |
| 159 | null=True, |
| 160 | blank=True, |
| 161 | related_name="epgs", |
| 162 | ) |
| 163 | |
| 164 | class Meta: |
| 165 | unique_together = ('tvg_id', 'epg_source') |
| 166 | |
| 167 | def __str__(self): |
| 168 | return f"EPG Data for {self.name}" |
| 169 | |
| 170 | class ProgramData(models.Model): |
| 171 | epg = models.ForeignKey(EPGData, on_delete=models.CASCADE, related_name="programs") |
no outgoing calls
no test coverage detected