Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se
Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Como fazer um select do HTML retornar os dados de uma tabela no Django

Tenho uma tabela com nome "company" que se relaciona através de uma foreingkey com a tabela "enterprise". Para criar uma nova company fora do django admin, criei uma página html "register_company, mas não consigo fazer com que o select retorne os dados da tabela contidos na tabela "enterprise" para que o usuário escolha e salve a nova "company.

View para registrar a company

def register_company(request):

enterprise = Enterprise.objects.all()

enterprise = {
    'enterprise': enterprise
}

print(f'{enterprise}')

if request.method == 'POST':

    enterprise = Enterprise.objects.all()

    enterprise = {
        'enterprise': enterprise
    }

    name_company = request.POST['name_company']
    cnpj_company = request.POST['cnpj_company']
    area_company = request.POST['area_company']
    manager_company = request.POST['manager_company']
    email_company = request.POST['email_company']
    status = request.POST['status']
    logo_company = request.FILES['logo_company']
    enterprise = request.POST['enterprise_id']

    #Validações

    if empty_fiel(name_company):
        messages.error(request, 'Ops... O campo nome da empresa não pode ficar em branco.')
        return redirect('register_company')
    if empty_fiel(cnpj_company):
        messages.error(request, 'Ops... O campo CNPJ não pode ficar em branco.')
        return redirect('register_company')
    if empty_fiel(area_company):
        messages.error(request, 'Ops... O campo área responsável não pode ficar em branco.')
        return redirect('register_company')
    if empty_fiel(manager_company):
        messages.error(request, 'Ops... O campo responsável da empresa não pode ficar em branco.')
        return redirect('register_company')
    if empty_fiel(email_company):
        messages.error(request, 'Ops... O campo e-mail do responsável não pode ficar em branco.')
        return redirect('register_company')
    if empty_fiel(status):
        messages.error(request, 'Ops... O campo status da empresa não pode ficar em branco.')
        return redirect('register_company')
    if Company.objects.filter(cnpj_company=cnpj_company).exists():
        messages.error(request, 'Ops... Esse CNPJ já foi cadastrado!')
        return redirect('register_company')


    company = Company.objects.create(name_company=name_company, cnpj_company=cnpj_company, area_company=area_company,
                                     manager_company=manager_company, email_company=email_company, logo_company=logo_company,
                                     status=status, enterprise_id=enterprise)

    company.save()

    messages.success(request, 'Empresa salva com sucesso!')

    return render(request, 'company/list_company.html')

else:
    return render(request, 'company/register_company.html')

    messages.error(request, 'Ops, houve algum erro ao salvar!')

Parte do Formulário HTML que tem o select

       <div class="col-md-4">
           <label><b>Unidade</b></label>
               <div class="form-group">
                <select class="form-control form-control-md" name="enterprise_id" required>
                     {% for enterprise in enterprise %}
                        <option value="{{enterprise_id}}">{{enterprise.enterprise_name}}</option>
                    {% endfor %}
                        <option value="1">Unidade de Miraí</option>
                </select>
               </div>
       </div>
1 resposta
solução!

Solução Encontrada

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