Вы уже установили fields
, чтобы created_by
не отображался в форме в администраторе Django.
Теперь вам нужно переопределить save_model
и установите пользователя перед сохранением новых объектов.
class MyModelAdmin(admin.ModelAdmin):
fields = ("name",)
def save_model(self, request, obj, form, change):
if not change:
# the object is being created, so set the user
obj.created_by = request.user
obj.save()