Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如果使用预取相关django,则清空M2M数据_Python_Django_Django Rest Framework_Djongo - Fatal编程技术网

Python 如果使用预取相关django,则清空M2M数据

Python 如果使用预取相关django,则清空M2M数据,python,django,django-rest-framework,djongo,Python,Django,Django Rest Framework,Djongo,我将Django与DRF一起使用,我遇到了一个N+1问题。所以,我现在尝试使用预回迁,但我有一些问题。在任何情况下,预取_相关返回空queryset 我正在使用: Django 3.0.7 Djongo(MongoDB的Django DB后端) DRF(最新版本) 我试图将我的项目切换到MySQL上,但没有效果 DRF测试查询 @api_视图(['GET']) @权限\u类([AllowAny]) def测试预取(请求): users=User.objects.prefetch_related(

我将Django与DRF一起使用,我遇到了一个N+1问题。所以,我现在尝试使用预回迁,但我有一些问题。在任何情况下,预取_相关返回空queryset

我正在使用:

  • Django 3.0.7
  • Djongo(MongoDB的Django DB后端)
  • DRF(最新版本)
  • 我试图将我的项目切换到MySQL上,但没有效果

    DRF测试查询
    @api_视图(['GET'])
    @权限\u类([AllowAny])
    def测试预取(请求):
    users=User.objects.prefetch_related('roles')。filter(id=4)#id=4拥有角色的是我的帐户
    打印(用户[0].roles.all())#返回[]
    打印(用户[0]。_预取_对象_缓存)#返回{“角色”:[]}
    返回响应(123,状态=200)
    模型
    类用户角色(models.Model):
    user=models.ForeignKey(to=“user”,on\u delete=models.DO\u NOTHING,default=None)
    角色类型=models.CharField(默认为“”,最大长度=256)
    给定的\u at=models.DateTimeField(默认值=api.functions.get\u local\u time)
    expires\u at=models.DateTimeField(默认值=api.functions.get\u local\u time,null=True)
    定义(自我):
    返回self.role\u类型
    类用户(AbstractBaseUser,PermissionsMixin):
    ....      
    roles=models.ManyToManyField(UserRoles,symmetric=True)
    
    已修复。问题出在琼戈。我把我的项目切换到PostgreSQL上,现在可以运行了