0
respostas

User request no Model form

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)

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software