django auto llena algunos datos basados en el atributo del modelo

Estoy trabajando en un concepto en el que quiero capturar cierta información cuando se guarda un modelo. Para comprender la imagen completa, tengo un núcleo de aplicación con el siguiente modelo

core / models.py

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
from transmeta import TransMeta
from django.utils.translation import ugettext_lazy as _

import signals


class Audit(models.Model):
    ## TODO: Document
    # Polymorphic model using generic relation through DJANGO content type
    operation  = models.CharField(_('Operation'), max_length=40)
    operation_at = models.DateTimeField(_('Operation At'), auto_now_add=True)
    operation_by = models.ForeignKey(User, null=True, blank=True, related_name="%(app_label)s_%(class)s_y+")
    content_type = models.ForeignKey(ContentType)
    object_id = models.PositiveIntegerField()
    content_object = generic.GenericForeignKey('content_type', 'object_id')

El modelo de auditoría es un tipo de contenido genérico, actualmente lo adjunto con otras aplicaciones, como en el blog

blog / models.py

from django.db import models
from django.contrib.contenttypes import generic
from django.contrib.contenttypes.models import ContentType
from django.template.defaultfilters import slugify
from django.utils.translation import ugettext_lazy as _
# Create your models here.



    class Meta:
        verbose_name_plural = "Categories"

class article(models.Model):
    title            = models.CharField(max_length=100)
    slug             = models.SlugField(editable=False, unique_for_year=True)
    content          = models.TextField()
    is_active        = models.BooleanField()
    published_at     = models.DateTimeField('Publish at',auto_now=True)
    related_articles = models.ManyToManyField('self', null=True, blank=True)
    audit_obj        = generic.GenericRelation('core.Audit', editable=False, null=True, blank=True)

Mi primer intento fue, hice una señal post_save en la que estaba comprobando si la instancia pasó que contenía el atributo audit_obj y luego guardé un registro al usararticle.audit_obj.create().save().

Desafortunadamente, esto no funcionó del todo para mí, ya que no puedo pasar la solicitud ni puedo acceder a la solicitud para recuperar la información del usuario.

Entonces, estaba pensando en crear una señal personalizada y anular el método form_save (si existe) y luego usar argumentos para pasar el objeto de solicitud y el objeto modelo.

¿Algún consejo sobre cómo puedo hacer eso?

Saludos,

EDITAR (20 de enero de 2011):

Gracias @Yuji por tu tiempo. Bueno, lo que estoy tratando de lograr es mantener mi código lo más SECO posible. Lo que quiero hacer en última instancia, cada vez que creo un nuevo modelo, solo crearé un atributo adicional y lo nombraré audit_obj y crearé una sola pieza de código, ya sea una señal o para anular el método de guardar dentro del núcleo django. La pieza de código siempre verificará si existe un atributo con el siguiente nombre y, por lo tanto, crea un registro en la tabla aduti.

Respuestas a la pregunta(1)

Su respuesta a la pregunta