А чем не устроили сигналы?
Создание экземпляров модели может быть инициировано по цепочке сигналов или как-то по другому, а не только через админку.
Да и что теперь, писать один и тот же код в админке, всех views и так далее.
Внутри сигнала получить текущего пользователя без обращения к объекту request поможет вот такая middleware:
djangosnippets.org/snippets/2179
Она работает и свою задачу выполняет.
P.S. Если нужно описать более подробно, говорите.
Не стал описывать в деталях, чтоб не быть К.О.
Но если не получится разобраться самостоятельно, готов помочь.