32 lines
1.3 KiB
Python
32 lines
1.3 KiB
Python
![]() |
from django.conf import settings
|
||
|
from django.db import models
|
||
|
from django.utils.translation import ugettext_lazy as _
|
||
|
|
||
|
from c3nav.mapdata.fields import JSONField
|
||
|
|
||
|
|
||
|
class ChangeSet(models.Model):
|
||
|
author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.PROTECT, verbose_name=_('Author'))
|
||
|
created = models.DateTimeField(auto_now_add=True, verbose_name=_('created'))
|
||
|
proposed = models.DateTimeField(null=True, verbose_name=_('proposed'))
|
||
|
applied = models.DateTimeField(null=True, verbose_name=_('applied'))
|
||
|
applied_by = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, on_delete=models.PROTECT,
|
||
|
related_name='applied_changesets', verbose_name=_('applied by'))
|
||
|
|
||
|
class Meta:
|
||
|
verbose_name = _('Change Set')
|
||
|
verbose_name_plural = _('Change Sets')
|
||
|
default_related_name = 'changesets'
|
||
|
|
||
|
|
||
|
class Change(models.Model):
|
||
|
changeset = models.ForeignKey(ChangeSet, on_delete=models.CASCADE, verbose_name=_('Change Set'))
|
||
|
author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.PROTECT, verbose_name=_('Author'))
|
||
|
created = models.DateTimeField(auto_now_add=True, verbose_name=_('created'))
|
||
|
content = JSONField()
|
||
|
|
||
|
class Meta:
|
||
|
verbose_name = _('Change')
|
||
|
verbose_name_plural = _('Changes')
|
||
|
default_related_name = 'changes'
|