123456789101112131415161718192021222324252627282930 |
- import difflib
- from django.conf import settings
- from django.db import models
- from django.utils import timezone
- class PostEdit(models.Model):
- category = models.ForeignKey("misago_categories.Category", on_delete=models.CASCADE)
- thread = models.ForeignKey("misago_threads.Thread", on_delete=models.CASCADE)
- post = models.ForeignKey(
- "misago_threads.Post", related_name="edits_record", on_delete=models.CASCADE
- )
- edited_on = models.DateTimeField(default=timezone.now)
- editor = models.ForeignKey(
- settings.AUTH_USER_MODEL, blank=True, null=True, on_delete=models.SET_NULL
- )
- editor_name = models.CharField(max_length=255)
- editor_slug = models.CharField(max_length=255)
- edited_from = models.TextField()
- edited_to = models.TextField()
- class Meta:
- ordering = ["-id"]
- def get_diff(self):
- return difflib.ndiff(self.edited_from.splitlines(), self.edited_to.splitlines())
|