labelbase/django/knowledge_base/models.py
Xavier Fiechter 402c38719b .
2024-03-14 17:22:39 +01:00

42 lines
1.3 KiB
Python

from django.db import models
from django.utils.text import slugify
from django.utils import timezone
from jsonfield import JSONField
class ExportSnapshot(models.Model):
exported_data = JSONField(default={})
timestamp = models.DateTimeField(default=timezone.now)
def __str__(self):
return f"Export Snapshot {self.timestamp}"
class Category(models.Model):
name = models.CharField(max_length=100)
desc = models.CharField(max_length=280, default="")
order = models.IntegerField(default=0)
slug = models.SlugField(unique=True, max_length=100)
exclude_from_export = models.BooleanField(default=False)
def save(self, *args, **kwargs):
#self.slug = slugify(self.name)
super(Category, self).save(*args, **kwargs)
def __str__(self):
return self.name
class Article(models.Model):
title = models.CharField(max_length=200)
content = models.TextField()
order = models.IntegerField(default=0)
category = models.ForeignKey(Category, on_delete=models.CASCADE)
slug = models.SlugField(unique=True, max_length=100)
exclude_from_export = models.BooleanField(default=False)
def save(self, *args, **kwargs):
#self.slug = slugify(self.title)
super(Article, self).save(*args, **kwargs)
def __str__(self):
return self.title