DRF如何通过外键公司过滤用户和产品?

问题描述 投票:0回答:1

如何通过外键(公司)来过滤,只获取得到相同公司和授权用户的产品? 想法是用户只查看自己所在公司的信息。

模型。

class User(AbstractBaseUser):
     first_name = models.CharField(max_length=254)
     company = models.ForeignKey(Company,  on_delete=models.CASCADE,
                                blank=True, null=True)
class Product(models.Model):
    name = models.CharField(max_length=255) 
    company = models.ForeignKey(Company, on_delete=models.CASCADE,
                                blank=True, null=True)

串行器

class ProductSerializers(serializers.ModelSerializer):

    class Meta:
        model = Product
        fields = '__all__'

观点

class ProductViewSet(ModelViewSet):
    serializer_class = ProductSerializers
    queryset = Product.objects.all()
    permission_classes = [IsAuthenticated]
django serialization django-rest-framework
1个回答
0
投票

如果我理解正确的话,你想根据当前用户的公司来过滤产品?

类似于:

products = Product.objects.filter(company=user.company)

© www.soinside.com 2019 - 2024. All rights reserved.