aboutsummaryrefslogtreecommitdiff
path: root/apps/blog/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'apps/blog/models.py')
-rw-r--r--apps/blog/models.py42
1 files changed, 27 insertions, 15 deletions
diff --git a/apps/blog/models.py b/apps/blog/models.py
index f564cd75..b4d791e2 100644
--- a/apps/blog/models.py
+++ b/apps/blog/models.py
@@ -4,63 +4,74 @@ from django.conf import settings
from django.db import models
from django.utils.text import slugify
-UPLOAD_ROOT = 'images/'
+UPLOAD_ROOT = "images/"
+
# Create your models here.
class Category(models.Model):
name = models.CharField(max_length=50)
+ name_ja = models.CharField(max_length=50, blank=True)
slug = models.SlugField(unique=True)
description = models.TextField(blank=True)
created_at = models.DateTimeField(auto_now_add=True)
def save(self, *args, **kwargs):
- if not self.slug or self.slug == '':
+ if not self.slug or self.slug == "":
self.slug = slugify(self.name)
return super(Category, self).save(*args, **kwargs)
def __str__(self):
return self.name
+
class Tag(models.Model):
name = models.CharField(max_length=50)
+ name_ja = models.CharField(max_length=50, blank=True)
slug = models.SlugField(unique=True)
description = models.TextField(blank=True)
created_at = models.DateTimeField(auto_now_add=True)
def save(self, *args, **kwargs):
- if not self.slug or self.slug == '':
+ if not self.slug or self.slug == "":
self.slug = slugify(self.name)
return super(Tag, self).save(*args, **kwargs)
def __str__(self):
return self.name
+
class Post(models.Model):
title = models.CharField(max_length=100)
+ title_ja = models.CharField(max_length=100, blank=True)
slug = models.SlugField(max_length=100, unique=True)
body = models.TextField(blank=True)
+ body_ja = models.TextField(blank=True)
date = models.DateTimeField(auto_now_add=False)
- post_image = models.ImageField(upload_to="{}/cover_images".format(UPLOAD_ROOT), blank=True)
+ post_image = models.ImageField(
+ upload_to="{}/cover_images".format(UPLOAD_ROOT), blank=True
+ )
+ image_url = models.URLField(blank=True)
author = models.ForeignKey(
settings.AUTH_USER_MODEL,
on_delete=models.CASCADE,
)
category = models.ForeignKey(
- 'Category',
+ "Category",
on_delete=models.CASCADE,
)
- tags = models.ManyToManyField('Tag', blank=True)
+ tags = models.ManyToManyField("Tag", blank=True)
is_public = models.BooleanField(default=False)
views = models.IntegerField(default=0)
def save(self, *args, **kwargs):
- if not self.slug or self.slug == '':
+ if not self.slug or self.slug == "":
self.slug = slugify(self.title)
return super(Post, self).save(*args, **kwargs)
def __str__(self):
return str(self.title)
-
+
+
class AnonymousCommentUser(models.Model):
name = models.CharField(max_length=32)
email = models.CharField(max_length=32)
@@ -68,17 +79,18 @@ class AnonymousCommentUser(models.Model):
avatar = models.CharField(max_length=128, blank=True)
@classmethod
- def get_or_create(cls, email, token, avatar=''):
- email_hash = hashlib.md5(email.encode('utf-8')).hexdigest()
- token_hash = hashlib.sha256(token.encode('utf-8')).hexdigest()
+ def get_or_create(cls, email, token, avatar=""):
+ email_hash = hashlib.md5(email.encode("utf-8")).hexdigest()
+ token_hash = hashlib.sha256(token.encode("utf-8")).hexdigest()
return cls(email=email_hash, token=token_hash, avatar=avatar)
-
+
def __str__(self):
return self.name + "(" + self.email + ")"
+
class Comment(models.Model):
post = models.ForeignKey(
- 'Post',
+ "Post",
on_delete=models.CASCADE,
)
user = models.ForeignKey(
@@ -88,7 +100,7 @@ class Comment(models.Model):
null=True,
)
anonymous_user = models.ForeignKey(
- 'AnonymousCommentUser',
+ "AnonymousCommentUser",
on_delete=models.CASCADE,
blank=True,
null=True,
@@ -99,4 +111,4 @@ class Comment(models.Model):
edited_at = models.DateTimeField(blank=True, null=True)
def __str__(self):
- return self.body[:50] + '...' if len(self.body) > 50 else self.body
+ return self.body[:50] + "..." if len(self.body) > 50 else self.body