首页 > 解决方案 > 在 django 中保存当前登录用户的数据

问题描述

我是 django 的新手,我有一个关于如何保存显示 登录用户的数据的问题——因为我的应用程序是多租户的。

我的观点

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

我的模型

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)

非常感谢你!

标签: pythondjangomulti-tenant

解决方案


添加

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

到 Projecto 模型。然后,在您的视图中,project.user = self.request.user在保存项目模型之前进行设置。


推荐阅读