1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Anuncie Aqui
    Anuncie aqui você Também: fdantas@4each.com.br

[Python] Django + Python como atualizar um item da tabela

Discussão em 'Python' iniciado por Stack, Setembro 10, 2024.

  1. Stack

    Stack Membro Participativo

    Fala galera, estou com um fluxo de cadastro onde num primeiro passo salvo o aluno e depois os dados do responsável, porém, depois disso eu preciso que o aluno faça uma descrição e essa descrição tem que ser inserida no respectivo aluno, porém da forma que estou não atualiza nada, porém não me retorna nenhum erro

    essa á minha models.py :


    from django.db import models
    from django import forms
    from django.forms import ModelForm

    class Student(models.Model):

    MARITAL_STATUS_CHOICES = (
    ('casado', 'Casado (a)'),
    ('solteiro', 'Solteiro (a)'),
    ('separado', 'Separado (a)'),
    ('divorciado', 'Divorciado (a)'),
    ('viuvo', 'Viúvo (a)'),
    ('amasiado', 'Amasiado (a)'),
    )

    ETHNIC_GROUP_CHOICES = (
    ('amarelo', 'Amarelo (a)'),
    ('branco', 'Branco (a)'),
    ('indigena', 'Indigena'),
    ('pardo', 'Pardo (a)'),
    ('preto', 'Preto (a)'),
    ('nao declarado', 'Não Declarado (a)'),
    )

    GENDER_CHOICES = (
    ('feminino', 'Feminino'),
    ('masculino', 'Masculino'),
    )

    name = models.CharField(
    max_length=100, verbose_name='Nome')
    rg = models.CharField(
    max_length=14, verbose_name='RG')
    cpf = models.CharField(
    max_length=14, verbose_name='CPF')
    birthDay = models.CharField(
    max_length=10, verbose_name='Data de nascimento')
    adress = models.CharField(
    max_length=100, verbose_name='Endereço')
    email = models.EmailField(
    max_length=100, verbose_name='E-mail')
    phoneNumber = models.CharField(
    max_length=14, verbose_name='Telefone')
    maritalStatus = models.CharField(
    max_length=50, choices=MARITAL_STATUS_CHOICES, verbose_name='Estado civil')
    nationality = models.CharField(
    max_length=50, verbose_name='Nacionalidade')
    naturalness = models.CharField(
    max_length=50, verbose_name='Naturalidade')
    ethnicGroup = models.CharField(
    max_length=50, choices=ETHNIC_GROUP_CHOICES, verbose_name='Grupo Étnico')
    gender = models.CharField(
    max_length=50, choices=GENDER_CHOICES, verbose_name='Gênero')
    description = models.TextField(
    max_length=255, verbose_name='Por que você ?'
    )

    def __str__(self):
    return self.name

    class ParentStudent(models.Model):
    name = models.CharField(
    max_length=100, verbose_name='Nome')
    rg = models.CharField(
    max_length=14, verbose_name='RG')
    cpf = models.CharField(
    max_length=14, verbose_name='CPF')
    email = models.EmailField(
    max_length=100, verbose_name='E-mail')
    phoneNumber = models.CharField(
    max_length=14, verbose_name='Telefone')

    def __str__(self):
    return self.name

    class StudentForm(forms.ModelForm):
    class Meta:
    model = Student
    fields = ['name',
    'rg',
    'cpf',
    'birthDay',
    'adress',
    'email',
    'phoneNumber',
    'maritalStatus',
    'nationality',
    'naturalness',
    'ethnicGroup',
    'gender',]

    class StudentDescriptionForm(forms.ModelForm):
    class Meta:
    model = Student
    fields = ['description']

    class ParentStudentForm(forms.ModelForm):
    class Meta:
    model = ParentStudent
    fields = ['name',
    'rg',
    'cpf',
    'email',
    'phoneNumber',]

    essa é a minha views.py :


    from django.shortcuts import render, redirect
    from .models import Student, StudentForm, StudentDescriptionForm, ParentStudent, ParentStudentForm

    def student_form(request):
    if request.method == 'POST':
    form = StudentForm(request.POST)

    if form.is_valid():
    student = Student (**form.cleaned_data)
    student.save()
    return redirect('/register/2')
    else:
    form = StudentForm()

    return render(request, 'student-form-registration.html', {'form': form})

    def parent_student_form(request):
    if request.method == 'POST':
    form = ParentStudentForm(request.POST)

    if form.is_valid():
    parent_student = ParentStudent (**form.cleaned_data)
    parent_student.save()
    return redirect('/register/4')
    else:
    form = ParentStudentForm()

    return render(request, 'parent-student-form-registration.html', {'form': form})

    def student_description_form(request):
    if request.method == 'PUT':
    form = StudentDescriptionForm(request.PUT)

    if form.is_valid():
    student = Student (**form.cleaned_data)
    student.save()
    return redirect('/register')
    else:
    form = StudentDescriptionForm()

    return render(request, 'student-description-form.html', {'form': form})

    e esse é meu student-description-form.html :


    {%extends "base.html"%}
    {% load bootstrap4 %}

    {%block student_description%}
    <form method="PUT">
    {% csrf_token %}
    {% bootstrap_form form %}
    <button type="submit" class="btn btn-primary mb-4">Avançar</button>
    </form>
    {%endblock%}

    Continue reading...

Compartilhe esta Página