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

前端 未结 5 1798
独厮守ぢ
独厮守ぢ 2020-11-30 07:06

I\'d like to do something like this:

class Task(models.Model):
    ...
    created_by = models.ForeignKey(User, **default=[LoggedInUser]** blank=True, null=T         


        
5条回答
  •  挽巷
    挽巷 (楼主)
    2020-11-30 07:07

    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()
    

提交回复
热议问题