Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.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 Rest-基于角色的不同视图_Python_Django - Fatal编程技术网

Python Django Rest-基于角色的不同视图

Python Django Rest-基于角色的不同视图,python,django,Python,Django,给Django和Django Rest的消息 我试图根据用户的角色创建两种类型的视图 在创建新需求时,我有一个字段不想显示给一个角色(在DB中为空),而是想显示给另一个角色 问题是我不知道我怎么能做到 如果有人能指引我正确的方向 以下是我所拥有的: models.py class demand(models.Model): id = models.AutoField(primary_key=True) title = models.CharField(max_length=60)

给Django和Django Rest的消息

我试图根据用户的角色创建两种类型的视图

在创建新需求时,我有一个字段不想显示给一个角色(在DB中为空),而是想显示给另一个角色

问题是我不知道我怎么能做到

如果有人能指引我正确的方向

以下是我所拥有的:

models.py

class demand(models.Model):
    id = models.AutoField(primary_key=True)
    title = models.CharField(max_length=60)
    description = models.CharField(max_length=400)
    assigned = models.CharField(max_length=60)
序列化程序.py

class demandSerializer(serializers.ModelSerializer):
    class Meta:
        model = models.demand
        fields = ('title','description','assigned')
views.py

class demandCreateAPIView(CreateAPIView):
    queryset=models.demand.objects.all()
    serializer_class=serializers.demandSerializer

您可以在保存请求数据之前更改它

class DemandCreateAPIView(CreateAPIView):
    queryset = Demand.objects.all()
    serializer_class = serializers.DemandSerializer

    def create(self, request, *args, **kwargs):
        ... #do whatever check you want
        request.data.pop('assigned', None) # I've choose this parameter as an example
        return super(DemandCreateAPIView, self).create(request, *args, **kwargs)

在views.py中使用过滤器仅列出用户有权访问的项目to@Jawadop谈论的是字段而不是记录。你如何区分应用程序中的用户?您是否将默认用户与指定的工作组一起使用?