ubottu-web/ubottu/factoids/models.py

35 lines
1.2 KiB
Python

from django.db import models
from django.utils import timezone
from django.contrib.auth.models import User
# Define Author model
class Author(models.Model):
name = models.CharField(max_length=64)
def get_sentinel_author():
# This assumes 'Author' model is already defined as shown above
return Author.objects.get_or_create(name='deleted')[0]
class Fact(models.Model):
name = models.CharField(max_length=32)
value = models.TextField()
FTYPE_CHOICES = (
("REPLY", "Reply"),
("ALIAS", "Alias")
)
ftype = models.CharField(
max_length=32,
choices=FTYPE_CHOICES,
default="REPLY"
)
id = models.BigAutoField(primary_key=True)
author = models.ForeignKey(User, on_delete=models.SET_NULL, null=True)
room = models.CharField(null=True, default=None, max_length=128, blank=True)
create_date = models.DateTimeField("date published", default=timezone.now)
change_date = models.DateTimeField("date changed", default=timezone.now)
popularity = models.IntegerField(default=0)
def __str__(self):
return self.name
def was_published_recently(self):
return self.create_date >= timezone.now() - datetime.timedelta(days=7)