Search code examples
pythondjangomulti-tenant

Save the data of current logged user in django


I am a newbie in django and I have a question about how I can save and show only the data of logged user - since my application is multi-tenant.

my view

class ProjetoCreate(CreateView):
    model = Projeto
    fields = ['nomeProjeto',
              'descricao',
              'dtInicio',
              'deadline',
              'nomeSprint',
              'status',
              ]

    def get_queryset(self):
        logged_user = self.request.user
        return Projeto.objects.filter(User=logged_user)

class ProjetoList(ListView):
    paginate_by = 2
    model = Projeto

my model

class Projeto(models.Model):
    nomeProjeto = models.CharField(max_length=20)
    descricao = HTMLField()
    dtInicio = models.DateField(auto_now=False, auto_now_add=False)
    deadline = models.DateField(auto_now=False, auto_now_add=False)
    nomeSprint = models.CharField(max_length=30)
    status = models.CharField(max_length=20)

Thank you very much!


Solution

  • Add

    user = models.ForeignKey(User, on_delete=models.CASCADE)
    

    to Projecto model. Then, in your view, set project.user = self.request.user before saving your project model.