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>