仅显示登录用户的项目

问题描述

我正在处理一个管理一些项目的Django项目。 在视图中,我只需要显示已登录用户的项目,但是我所做的一切都无法正常工作,而且我真的不知道还能尝试什么。我是编程新手。

基本上我的应用程序具有一个工作模型,该工作模型只有一个字段:worker = models.ForeignKey(User)

然后它有一个只有一个字段的“负责任模型”:responsable = models.ForeignKey(User) 我有这两种模型,因为我需要将工作人员和负责人中的用户分开。

这是我的项目模型:

<?php
Route::group([
    'prefix'     => config('backpack.base.route_prefix','admin'),'namespace'  => 'App\Http\Controllers\Admin',],function () {
    // routes to override others from Backpack
    Route::crud('user','UserCrudController');
});

这是我的观点。py:

class Project(models.Model):
  title = models.CharField(max_length=255)
  description = models.CharField(max_length=1000)
  client = models.ForeignKey(Cliente,on_delete=models.CASCADE)
  complete = models.BooleanField(default=False)
  urgent = models.BooleanField(default=False)
  deadline = models.DateField()
  worker = models.ForeignKey(Worker,on_delete=models.CASCADE)
  responsable = models.ForeignKey(Responsable,on_delete=models.CASCADE)

但是我得到一个错误: 无法查询“ Simone”:必须是“ Worker”实例。

我认为问题在于,在我的项目模型中,worker字段具有Worker而不是User的外键,但是我无法更改它,所以我该怎么办?

解决方法

基于评论

基本上,我的应用程序具有一个工作模型,该工作模型仅具有一个字段:worker = models.ForeignKey(User),您应该访问worker模型的Worker字段,因此:

user_projects = Project.objects.filter(worker__worker=user).order_by('deadline')

因此,第一个worker遵循从ForeignKey模型到Project模型的Worker,第二个worker来自WorkerUser模型。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...