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

前端 未结 5 1797
独厮守ぢ
独厮守ぢ 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:28

    If use ModelForm, the following will fill a default value for a special field. such as, owner filed is a charfield for user's name

    def fillview(request):
        instance = YourModel(owner=request.user.username)
        form = YourModelForm(instance=instance)
    
        if request.method == 'POST':
            form = YourModelForm(request.POST, request.FILES)
            if form.is_valid():
                pass
                return render(request, 'success.html')
    
        return render(request, 'fill.html', {'form': form})
    

    When logged in, you could see owner filed is current user's name.

提交回复
热议问题