DRF, как отфильтровать пользователя и продукт по компании Foreign Key? - PullRequest
0 голосов
/ 22 апреля 2020

Как мне выполнить фильтрацию по внешнему ключу (компании), чтобы получить только тот продукт, который получил ту же компанию и авторизованного пользователя? Идея пользовательского просмотра информации только о компании, в которой он существует

модели:

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]

1 Ответ

0 голосов
/ 22 апреля 2020

Если я правильно понимаю, вы хотите отфильтровать продукт по компании текущего пользователя?

Что-то вроде:

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

...