繁体   English   中英

如何在 Django Rest 框架中的外键字段上使用过滤器

[英]How to use filters on Foreignkey Fields in Django Rest Framework

在下面的 class 中,“dep”是与员工 model 关联的外键字段。

视图.py

class Sample(ListAPIView)
queryset=Employee.Objects.all()
serializer_class = EmployeeSerializer
filter_backends = [SearchFilter]
search_fields = ['dep']

模型.py

class Employee(models.Model):
    FirstName=models.CharField(max_length=30)
    LastName = models.CharField(max_length=30)
    Salary = models.FloatField()
    Email = models.CharField(max_length=35)
    Dep   =models.Foreignkey(Department)

但是当我将 dep 传递给 endpt 时,它会抛出相关字段得到无效查找:icontains 错误。

您可以使用查找 API 双下划线表示法对 ForeignKey 或 ManyToManyField 执行相关查找__

尝试这个

search_fields = ['DEP__id', 'DEP__field_name']

请参阅此https://www.django-rest-framework.org/api-guide/filtering/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM