如何在变量forms.py Django中获取用户名



因此,我尝试在默认情况下从中填充一个模型变量。我需要master_id=#此处#中的当前登录用户名

我无法使用请求。

请帮忙。

from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth.models import User
from django import forms
from django.db import transaction
from django.contrib.auth import get_user_model
from .models import User, Shop
class ShopRegister(UserCreationForm):
first_name =  forms.CharField(required = True)
last_name = forms.CharField(required = True)
firm = forms.CharField(required = True)
email = forms.CharField(required = True)
contact = forms.CharField(required = True)
details = forms.CharField(required = True)
lid = forms.CharField(required = True)
master_id = #need my username here##############

class Meta(UserCreationForm.Meta):
model = User

@transaction.atomic
def save(self):
user = super().save(commit=False)
user.employee = True
user.first_name = self.cleaned_data.get('first_name')
user.last_name = self.cleaned_data.get('last_name')
user.firm = self.cleaned_data.get('firm')
user.email = self.cleaned_data.get('email')
user.contact = self.cleaned_data.get('contact')
user.details = self.cleaned_data.get('details')
user.lid = self.cleaned_data.get('lid')
user.save()
shop = Shop.objects.create(user=user)
shop.master_id=self.cleaned_data.get('master_id')
shop.save()
return user

您可以将在views.py文件中创建表单的变量绑定为form.master_id = request.user。我不知道是否还有其他方法可以做到这一点。

最新更新