dynamicweb/cms/models/apphooks_reload.py

39 lines
1 KiB
Python

import uuid
from django.db import models
class UrlconfRevision(models.Model):
revision = models.CharField(max_length=255)
class Meta:
app_label = 'cms'
def save(self, *args, **kwargs):
"""
Simply forces this model to be a singleton.
"""
self.pk = 1
super().save(*args, **kwargs)
@classmethod
def get_or_create_revision(cls, revision=None):
"""
Convenience method for getting or creating revision.
"""
if revision is None:
revision = str(uuid.uuid4())
obj, created = cls.objects.get_or_create(
pk=1, defaults=dict(revision=revision))
return obj.revision, created
@classmethod
def update_revision(cls, revision):
"""
Convenience method for updating the revision.
"""
obj, created = cls.objects.get_or_create(
pk=1, defaults=dict(revision=revision))
if not created:
obj.revision = revision
obj.save()