28 lines
971 B
Python
28 lines
971 B
Python
from django.core.validators import URLValidator, FileExtensionValidator
|
|
from django.db import models
|
|
|
|
|
|
class User(models.Model):
|
|
pass
|
|
|
|
|
|
class Feed(models.Model):
|
|
url = models.TextField(blank=False, null=False, validators=[URLValidator(['http', 'https'])])
|
|
active = models.BooleanField()
|
|
icon = models.FileField(upload_to='feed-icons', blank=True, null=False, default='default-icon.svg',
|
|
validators=[FileExtensionValidator(['png', 'svg'])])
|
|
keywords = models.TextField(blank=False, null=False)
|
|
match_all_keywords = models.BooleanField(blank=True, default=False)
|
|
|
|
|
|
class FeedEntry(models.Model):
|
|
feed = models.ForeignKey(Feed, on_delete=models.CASCADE)
|
|
tweeted = models.BooleanField()
|
|
|
|
|
|
class Tweet(models.Model):
|
|
feed = models.ForeignKey(Feed, null=True, on_delete=models.SET_NULL)
|
|
text = models.CharField(max_length=500)
|
|
date_time = models.DateTimeField()
|
|
url = models.CharField(max_length=500)
|