Ir para conteúdo
    • João Batista Neto

      iMasters InterCon 2017   10-10-2017

      Ainda dá tempo de se inscrever no iMasters InterCon 2017, o maior evento dev do Brasil!  

Douglas42

Members
  • Total de itens

    1
  • Registro em

  • Última visita

Reputação

0 Comum

Sobre Douglas42

  1. Formulário de avaliação em Django.

    Boa tarde pessoal, sou novo no fórum e esse é meu primeiro tópico, curso análise e desenvolvimento de sistemas e estou fazendo um teste para uma vaga de eságio. O teste consiste no seguinte: eu devo fazer uma aplicação web usando Python3/Django que seja um cadastro para vaga de emprego, a pessoa se registra, põe nome, endereço do Github, Linkedin, Currículo etc. Depois devo fazer com que os avaliadores (usuários admin) possam avaliar esses candidatos de acordo com critérios criados/escolhidos por eles, consegui fazer tudo ok, os models referentes a candidato e a critérios, fiz o formulário de inscrição do candidato salvando os dados e etc no banco de dados devidamente. Porém estou a dias empacado no segundo formulário que seria o de avaliação do candidato, conforme as recomendações que me deram, eu devo fazer um model que relacione o candidato, o avaliador os critérios e suas notas, a página desse formulário deve exibir os critérios e ao seu lado um campo para receber a nota, por exemplo: Experiencia: X Eu fiz o model já, mas o que não faço a minima ideia de como fazer é vincular os critérios a uma nota, eu criei um atributo que seria o campo que recebe a nota e outro que recebe o critério, só que como eu faço para vincular o atributo que recebe o critério com o que recebe a nota, quero dizer, para que eu posso dizer ao banco de dados: Este critério x recebe essa nota, os atributos já estão criados, só não estão vinculados como deve ser. aqui vai meus models/views/froms.py: models.py: from django.db import models from jsonfield import JSONField from site_.settings import MEDIA_ROOT class Criterio(models.Model): label = models.CharField(max_length=100) def __str__(self): return self.label class Candidato(models.Model): name = models.CharField(max_length=100) e_mail = models.EmailField(max_length=100, default = '') github = models.URLField(default = '') linkedin = models.URLField(max_length=100, default = '') cover_letter = models.TextField(default = '') Ensino_superior = models.BooleanField(default = False) med = models.IntegerField(default = 0) #talvez tenha que alterrar essa linha docfile = models.FileField(upload_to='/home/douglas/Documentos/Django/my-second-blog/site_/media', null=True, blank=True) def __str__(self): return self.name class Aval(models.Model): criterio = models.ManyToManyField(Criterio) nota = models.IntegerField() def __str__(self): return self class Avaliacao(models.Model): candidato = models.ForeignKey(Candidato) criterio = models.ForeignKey(Criterio) nota = models.IntegerField(default = 0) avaliador = models.ForeignKey('auth.User') #aval = models.ForeignKey(Aval) def __str__(self): return self views.py from django.shortcuts import render, get_object_or_404 from .models import Candidato, Criterio from django import forms from .forms import CandForm from .forms import AvalForm from django.shortcuts import redirect def canditato_list(request): candidatos = Candidato.objects.all() return render(request, 'app/candidato_list.html', {'candidatos': candidatos}) def candidato_detalhe(request, pk): candidato = get_object_or_404(Candidato, pk=pk) return render(request, 'app/candidato_detalhe.html', {'candidato': candidato}) def avaliar(request): criterios = Criterio.objects.all() form2 = AvalForm() return render(request, 'app/avaliacao.html', {'criterios': form2}) def cadastrar(request): if request.method == "POST": form = CandForm(request.POST) if form.is_valid(): post = form.save(commit=False) post.save() return redirect('candidato_detalhe', pk=post.pk) else: form = CandForm() return render(request, 'app/cadastro.html', {'form': form}) forms.py from .models import Candidato, Avaliacaofrom django import forms class CandForm(forms.ModelForm): class Meta: model = Candidato fields = ('name', 'e_mail', 'github', 'linkedin', 'Ensino_superior','cover_letter') class AvalForm(forms.ModelForm): class Meta: model = Avaliacao Então é isso pessoal, eu preciso é vincular duas variáveis do mesmo modelo. PS: eu quero e preciso muito desse emprego. Obrigado de coração, qualquer dica mínima que seja é muito bem vinda.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.

Este projeto é mantido e patrocinado pelas empresas:
Hospedado por: