1
0
Fork 0
mirror of https://github.com/Findus23/RPGnotes.git synced 2024-09-19 15:43:45 +02:00
RPGnotes/notes/models/basemodel.py

25 lines
637 B
Python
Raw Normal View History

2021-08-22 20:10:29 +02:00
from django.db import models
from django.utils.text import slugify
from notes.models import Campaign
class BaseModel(models.Model):
campaign = models.ForeignKey(Campaign, on_delete=models.PROTECT)
name = models.CharField(max_length=1000)
slug = models.SlugField(editable=False)
class Meta:
abstract = True
unique_together = ["campaign", "slug"]
def save(self, *args, **kwargs):
if not self.id:
# Newly created object, so set slug
self.slug = slugify(self.name)
super(BaseModel, self).save(*args, **kwargs)
def __str__(self):
return self.name