我是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)
多谢各位
我认为你完全错了
在
CreateView
-https://stackoverflow.com/a/24043478/4626254中根本不应该使用get_queryset()
以下是您可以尝试的方法
Project
模型中添加一个用户字段并应用迁移。user = models.ForeignKey(User, on_delete=models.CASCADE)
APIView
而不是CreateView
的类李>def post(self, request):
的POST方法,并使用request.data
或request.POST
获取在请求负载中创建Projeto
对象的所有详细信息李>request.user
获取登录用户Projecto
对象,将所有这些信息作为Projeto.objects.create(**your_other_fields, user=request.user)
user
字段上使用类似user=request.user
的过滤器李>加
到Projecto模型。然后,在视图中,在保存项目模型之前设置
project.user = self.request.user
相关问题 更多 >
编程相关推荐