Muito interessante! Só achei estranho a empresa ter uma FK para usuário. Não seria o contrário? O usuário ter uma FK para empresa? Do jeito que você fez, relação tá tipo 1 usuário para N empresas. Não sei se essa é realmente a regra de negócio, aí você quem diz kkkk Mas achei incomum...
Na verdade, tu comentou que a relação é 1 para 1, se for isso mesmo então poderia ter usado OneToOneField mesmo, igual vc fez com o usuário, essencialmente é uma FK tbm só que bloqueia a relação em 1 para 1, então mesmo que você tente criar a um usuário com duas empresas ou vice-versa o banco de dados bloqueia.
Além disso, acho que é possível fazer melhor ainda... Faz um tempo que brinquei com fastapi, hoje mexo mais com django, mas acredito que dá pra usar o schema do usuário como tipo pro schema de empresa, fazendo um aninhamento do usuário na empresa e a resposta ficaria:
[
{
"cnpj": "48.561.237/0001-78",
"razao_social": "Campos",
"logo": "https://picsum.photos/664/320",
"usuario": {
"id": "95c1c83c-1916-426e-b082-19156735c2bf",
"nome": "Pereira - ME",
"email": "[email protected]",
"telefone": "0500 037 7420",
"endereco": "Feira Moreira, Moreira Grande / PB"
}
}
]
Em DRF fazemos facinho com serializers, deve haver uma forma fácil de fazer isso! Acredito que ficaria uma solução mais limpa, não sei se faz sentido pra você...