如何在管理员页面中添加在提取金额时登录的用户名?

2024-04-26 00:34:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我做了一个form来给用户一个取款选项。该数据保存在管理页面中,但问题是我也有owner变量,我希望当金额数据将保存在管理页面中时,owner用户名也应保存在管理中,这表明谁想要这个金额

型号.py

from django.contrib.auth.models import User
class WithdrawPayment(models.Model):
    payment = models.CharField(max_length=100)
    owner = models.ForeignKey(User, on_delete=models.CASCADE)

    class Meta:
        verbose_name_plural = 'Withdraw Payment'

视图.py

@login_required
def withdraw(request):
    if request.method == 'POST':
        form = WithdrawBalance(request.POST, request.FILES)
        if form.is_valid():
            form.save()
            messages.success(request, f'Your request has been submitted.')
            return redirect('index')
    else:
        form = WithdrawBalance()
    context = {'form': form}
    return render(request, 'nextone/withdraw.html', context)

forms.py

class WithdrawBalance(forms.ModelForm):
    class Meta:
        model = WithdrawPayment
        fields = ['payment']

Tags: 数据pyformmodelsrequest页面payment金额
1条回答
网友
1楼 · 发布于 2024-04-26 00:34:22

大概是这样的:

@login_required
def withdraw(request):
    form_class = WithdrawBalanceForm
    if request.method == 'POST':
        form = form_class(request.POST)
            obj = form.save(commit=False)
            obj.owner = request.user
            obj.save()
            messages.success(request, f'Your request has been submitted.')
            return redirect('index')
    else:
        form = form_class()
    context = {'form': form}
    return render(request, 'nextone/withdraw.html', context)

class WithdrawBalanceForm(forms.ModelForm):
    class Meta:
        model = WithdrawPayment
        fields = ['payment']

相关问题 更多 >