Post app & Settings
This commit is contained in:
@@ -1,3 +1,70 @@
|
||||
from django.db import models
|
||||
from django.contrib.auth.models import User
|
||||
from taggit.managers import TaggableManager
|
||||
from django.utils.text import slugify
|
||||
#from ckeditor_uploader import RichTextUploadingField
|
||||
import django
|
||||
import uuid
|
||||
import re
|
||||
|
||||
# Create your models here.
|
||||
class Post(models.Model):
|
||||
# id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
|
||||
legacy_id=models.IntegerField(null=True)
|
||||
legacy_rubrik_id=models.IntegerField(null=True)
|
||||
title=models.CharField(max_length=200) # Titel des Posts
|
||||
subtitle=models.CharField(max_length=500, null=True, blank=True) # subtitle
|
||||
slug=models.SlugField(unique=True,null=True,blank=True) # Slug = Text Basierter url bestandteil zb Fetsitzung 22.1.2020 --> fetsitzung_22_1_2020 für Url
|
||||
body=models.TextField(null=True, blank=True) # Body Text Artikel Text soll später mit WYSIWG Editor bearbeitet werden
|
||||
image=models.ImageField(null=True,blank=True) # Ein Haupt Bild für den Post
|
||||
author=models.ForeignKey(User,on_delete=models.SET_NULL, null=True) # Wer hat das geschrieben
|
||||
tags=TaggableManager(blank=True) # Tags
|
||||
public_date=models.DateField('date published',null=True,blank=True, default=django.utils.timezone.now) # Datum ab dem etwas öffentlich sein soll
|
||||
|
||||
imported_from = models.CharField(max_length=200, null=True, blank=True) # Titel des Posts
|
||||
|
||||
is_fetsitzung=models.BooleanField(default=False)
|
||||
is_event=models.BooleanField(default=False)
|
||||
|
||||
# Zusatz Info wenn ein Event gepostet wird
|
||||
event_start=models.DateTimeField('Event Start', null=True,blank=True)
|
||||
event_end=models.DateTimeField('Event Ende', null=True,blank=True)
|
||||
event_place=models.CharField(max_length=200, null=True,blank=True)
|
||||
|
||||
# Dokumente v.a. fuer Sitzungen
|
||||
has_protocol = models.BooleanField(default=False)
|
||||
has_agenda = models.BooleanField(default=False)#
|
||||
protocol_key=models.CharField(max_length=200, null=True,blank=True)
|
||||
agenda_key=models.CharField(max_length=200, null=True,blank=True)
|
||||
|
||||
# TimeStamps
|
||||
date_modified=models.DateTimeField(auto_now=True)
|
||||
date_created=models.DateTimeField(auto_now_add=True)
|
||||
|
||||
|
||||
def get_tags(self):
|
||||
return ",".join(self.tags.names())
|
||||
|
||||
def imageurl(self):
|
||||
if self.image:
|
||||
return self.image.url
|
||||
else:
|
||||
return ""
|
||||
|
||||
def key(self):
|
||||
return self.slug or self.id
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if self.id is None and (self.slug is None or self.slug ==""):
|
||||
self.slug=slugify(self.title)
|
||||
|
||||
|
||||
super().save(*args, **kwargs)
|
||||
|
||||
self.tags.set(*re.findall(r'\#([\d\w]+)', str(self.subtitle)),*re.findall(r'\#([\d\w]+)', str(self.title)))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user