mirror of
https://github.com/jazzband/django-auditlog.git
synced 2026-05-23 06:35:47 +00:00
89 lines
2 KiB
Python
89 lines
2 KiB
Python
from django.db import models
|
|
from auditlog.models import AuditlogHistoryField
|
|
from auditlog.registry import auditlog
|
|
|
|
|
|
class SimpleModel(models.Model):
|
|
"""
|
|
A simple model with no special things going on.
|
|
"""
|
|
|
|
text = models.TextField(blank=True)
|
|
boolean = models.BooleanField(default=False)
|
|
integer = models.IntegerField(blank=True, null=True)
|
|
datetime = models.DateTimeField(auto_now=True)
|
|
|
|
history = AuditlogHistoryField()
|
|
|
|
|
|
class AltPrimaryKeyModel(models.Model):
|
|
"""
|
|
A model with a non-standard primary key.
|
|
"""
|
|
|
|
key = models.CharField(max_length=100, primary_key=True)
|
|
|
|
text = models.TextField(blank=True)
|
|
boolean = models.BooleanField(default=False)
|
|
integer = models.IntegerField(blank=True, null=True)
|
|
datetime = models.DateTimeField(auto_now=True)
|
|
|
|
history = AuditlogHistoryField(pk_indexable=False)
|
|
|
|
|
|
class ProxyModel(SimpleModel):
|
|
"""
|
|
A model that is a proxy for another model.
|
|
"""
|
|
|
|
class Meta:
|
|
proxy = True
|
|
|
|
|
|
class RelatedModel(models.Model):
|
|
"""
|
|
A model with a foreign key.
|
|
"""
|
|
|
|
related = models.ForeignKey('self')
|
|
|
|
history = AuditlogHistoryField()
|
|
|
|
|
|
class ManyRelatedModel(models.Model):
|
|
"""
|
|
A model with a many to many relation.
|
|
"""
|
|
|
|
related = models.ManyToManyField('self')
|
|
|
|
history = AuditlogHistoryField()
|
|
|
|
|
|
class SimpleIncludeModel(models.Model):
|
|
"""
|
|
A simple model used for register's include_fields kwarg
|
|
"""
|
|
|
|
label = models.CharField(max_length=100)
|
|
text = models.TextField(blank=True)
|
|
|
|
history = AuditlogHistoryField()
|
|
|
|
|
|
class SimpleExcludeModel(models.Model):
|
|
"""
|
|
A simple model used for register's exclude_fields kwarg
|
|
"""
|
|
|
|
label = models.CharField(max_length=100)
|
|
text = models.TextField(blank=True)
|
|
|
|
history = AuditlogHistoryField()
|
|
|
|
|
|
auditlog.register(SimpleModel)
|
|
auditlog.register(AltPrimaryKeyModel)
|
|
auditlog.register(ProxyModel)
|
|
auditlog.register(SimpleIncludeModel, include_fields=['label', ])
|
|
auditlog.register(SimpleExcludeModel, exclude_fields=['text', ])
|