django - 过滤多个查询参数

时间:2021-03-02 09:03:39

标签: python django

将参数放入邮递员网址中。 当我这样发送时,

[GET]http://127.0.0.1:8000/devices?device_uuid=aaa&fcm_token=bbb&user=ccc

我希望结果值是 device_uuid、fcm_token 和 user_id 所有应用的过滤器值。

views.py

class DevicesViewSet(
mixins.CreateModelMixin,
mixins.RetrieveModelMixin,
mixins.UpdateModelMixin,
mixins.DestroyModelMixin,
mixins.ListModelMixin,
GenericViewSet):
queryset = Devices.objects.all()
serializer_class = DevicesSerializer

def get_queryset(self):
    queryset = Devices.objects.all()
    device_uuid = self.request.query_params.get("device_uuid", None)
    # fcm_token = self.request.query_params.get("fcm_token", None)
    if device_uuid is not None:
        queryset = queryset.filter(device_uuid=device_uuid)
    return queryset

models.py

class Devices(models.Model):

user = models.ForeignKey(
    User, on_delete=models.CASCADE, related_name="Devices", null=True
)
device_uuid = models.CharField(max_length=45, null=True)
fcm_token = models.BigIntegerField( null=True)
user_agent = models.CharField( max_length=45, null=True)
use_yn = models.CharField( max_length=1, default="Y")
device_crt_dts = models.DateTimeField(auto_now_add=True)
device_modify_dts = models.DateTimeField(auto_now_add=True)

我应该添加哪个代码值?

0 个答案:

没有答案