Boa tarde,
Estou usando um custom user model e obtendo o usuario logado através de um request na view,
tenho um modelForm onde o usuario cria um formulario (requisição)
porém estou na duvida de como incluir o request do usuario logado nos dados do model form,
Estou conseguindo obter ambas as informações porém nao consigo uni-las para executar o save() do Modelforms como explicado no ultimo curso de django da alura no projeto de passagens
campo em questão do request do usuario seria o "pessoa"
Models
class CriaRequisicaoProjetos(models.Model):
# Base
pessoa = models.ForeignKey(User, on_delete=models.CASCADE)
titulo_requisicao = models.CharField(max_length=100)
escopo = models.TextField(max_length=250)
premissa = models.TextField(max_length=250)
prazo_esperado = models.DateField()
# Perguntas
problema_conhecido = models.CharField(choices=SN_CHOICES, max_length=3)
solucao_conhecida = models.CharField(choices=SN_CHOICES, max_length=3)
existe_saving = models.CharField(choices=SN_CHOICES, max_length=3)
concientizacao_social = models.CharField(choices=SN_CHOICES, max_length=3)
otimiza_recursos_naturais = models.CharField(choices=SN_CHOICES, max_length=3)
sabemos_melhorar = models.CharField(choices=SN_CHOICES, max_length=3)
conhecida_mercado = models.CharField(choices=SN_CHOICES, max_length=3)
consolidada_mercado = models.CharField(choices=SN_CHOICES, max_length=3)
pesquisa_desenvolvimento = models.CharField(choices=SN_CHOICES, max_length=3)
# Campo Auto
data_requisicao = models.DateField()
Modelform
from django.conf import settings User = settings.AUTH_USER_MODEL
class CriaRequisicaoProjetosModelForm(forms.ModelForm): data_requisicao = forms.DateField(label='Data da Requisição', disabled=True, initial=datetime.today)
class Meta:
model = CriaRequisicaoProjetos
fields = '__all__'
widgets = {'prazo_esperado': DatePicker}
labels = {'titulo_requisicao': 'Titulo da Requisição',
'solucao_conhecida': 'Solução é conhecida ?'}
View
from usuarios.models import CustomUsuario from django.conf import settings User = settings.AUTH_USER_MODEL
def cria_requisicao_projetos(request): current_user = get_object_or_404(CustomUsuario, pk=request.user.id) form = CriaRequisicaoProjetosModelForm context = {'form': form, } if request.method == 'POST': requisicao = CriaRequisicaoProjetosModelForm(request.POST) requisicao.save() return render(request, 'requisicao/cria_requisicao_projetos.html', context) else: return render(request, 'requisicao/cria_requisicao_projetos.html', context)