How to assign currently logged in user as default value for a model field?

If you want to achieve this within the admin interface, you can use the save_model method. See below an example:

class List(models.Model):
    title = models.CharField(max_length=64)
    author = models.ForeignKey(User)

class ListAdmin(admin.ModelAdmin):
    fields = ('title',)
    def save_model(self, request, obj, form, change):
        obj.author = request.user
        obj.save()

Leave a Comment