from django.db import models from django.contrib.auth.models import User from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes import generic import datetime from django_monitor.conf import ( STATUS_DICT, PENDING_STATUS, APPROVED_STATUS, CHALLENGED_STATUS ) STATUS_CHOICES = STATUS_DICT.items() class MonitorEntryManager(models.Manager): """ Custom Manager for MonitorEntry""" def get_for_instance(self, obj): ct = ContentType.objects.get_for_model(obj.__class__) try: mo = MonitorEntry.objects.get(content_type = ct, object_id = obj.pk) return mo except MonitorEntry.DoesNotExist: pass class MonitorEntry(models.Model): """ Each Entry will monitor the status of one moderated model object""" objects = MonitorEntryManager() timestamp = models.DateTimeField( auto_now_add = True, blank = True, null = True ) status = models.CharField(max_length = 2, choices = STATUS_CHOICES) status_by = models.ForeignKey(User, blank = True, null = True)
from django.db import models from django.contrib.contenttypes.fields import GenericForeignKey import datetime from . import model_from_queue from django_monitor.conf import ( STATUS_DICT, PENDING_STATUS, APPROVED_STATUS, CHALLENGED_STATUS ) STATUS_CHOICES = STATUS_DICT.items() class MonitorEntryManager(models.Manager): """ Custom Manager for MonitorEntry""" def get_for_instance(self, obj): from django.contrib.contenttypes.models import ContentType ct = ContentType.objects.get_for_model(obj.__class__) try: mo = MonitorEntry.objects.get(content_type = ct, object_id = obj.pk) return mo except MonitorEntry.DoesNotExist: pass class MonitorEntry(models.Model): """ Each Entry will monitor the status of one moderated model object""" objects = MonitorEntryManager() timestamp = models.DateTimeField( auto_now_add = True, blank = True, null = True )