Olá Solange,
Várias formas de se fazer, tudo depende, esse é um bom tópico para
minha próxima live, sábado às 20h.
Mas, basicamente vc precisa associar o user a empresa e fazer a query
baseada nessa associação, usando por exemplo ForeignKey:
from django.db import models
from django.conf import settings
class Empresa(models.Model):
usuario_dono =
models.ForeignKey(settings.AUTH_USER_MODEL,null=True, blank=True,
on_delete=models.SET_NULL,related_name="minhas_empresas_associadas",related_query_name="minhas_empresas")
Então você pode filtrar as empresas usando algo como:
empresas = Empresa.objects.filter(usuario_dono=request.user) #Todas as empresas
empresas = Empresa.objects.filter(usuario_dono=request.user,
id__in=[2,6,8]) #Todas as empresas onde o id esteja na lista [2,6,8]
Ou usando a relacao com o usuario:
empresas = request.user.minhas_empresas_associadas.filter(id__in=[2,6,8])
#Todas as empresas onde o id esteja na lista [2,6,8]
empresas = request.user.minhas_empresas_associadas.all() #Todas as
empresas associadas.
Obviamente, é um exemplo básico, mas te dá uma idéia de por onde
começar a análise das opções.
Sábado vou criar um exemplo mais completo, fazendo o filtro automático
no admin baseado na empresa ou empresas selecionadas.
Até, e sucesso.
Lauro Cesar de Oliveira
Hack to learn not learn to hack.
Django e Python channel
https://www.youtube.com/user/olarva2008
On Tue, Jun 28, 2022 at 11:39 AM Solange Carvalho <[email protected]> wrote:
>
> Trabalho com multi-empresas e gostaria de saber como vincular o cadastro de
> uma empresa a um usuário.
> Exemplo:
> Um usuário só acessa os dados de uma empresa e tudo vinculado a ela.
> Um usuário pode selecionar qual empresa acessar ou todas.
>
> Como programar?
>
> --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/django-users/247e96f2-a682-478b-906b-859d8fad99acn%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-users/CAN8Wv%2BHHNPcNCni3ChxWFOcbH_YzQjSXwyBySWW8NVouzJbR%2Bw%40mail.gmail.com.