如何将streamdjango与djangoresfram一起使用

2022-09-28 21:16:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我是django的新手,目前正在使用djangorestframework进行一个小项目。我在创建活动流时遇到了问题,但我无意中发现获取流.io(django溪流)而我一直无法将我的头围绕着它。我想看看如何使用DRF和stream django创建活动流的示例。你知道吗

我将删除正在使用的模型和序列化程序。非常感谢。你知道吗

你知道吗型号.py你知道吗

class Imprest(models.Model, Activity):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    description = models.TextField()
    amount = models.PositiveIntegerField()
    is_approved = models.BooleanField(default=False)
    created_at = models.DateTimeField(default=datetime.now)


    def __str__(self):
        return 'Raised by: {}'.format(self.user) 

你知道吗序列化程序.py你知道吗

class ImprestSerializer(serializers.ModelSerializer):
    user = UserSerializer(read_only=True, required=False)

    class Meta:
        model = Imprest
        fields = '__all__'

    def get_validation_exclusions(self, instance=None):
         exclusions = super(ImprestSerializer, self).get_validation_exclusions(instance)

        return exclusions + ['user']

你知道吗视图.py你知道吗

class ImprestViewSet(ModelViewSet):
    queryset = Imprest.objects.all()
    serializer_class = ImprestSerializer
    permission_classes = permissions.IsAuthenticated,

    def get_permissions(self):
        if self.request.method in permissions.SAFE_METHODS:
            return permissions.AllowAny(),
        return permissions.IsAuthenticated(),

    def perform_create(self, serializer):
        instance = serializer.save(raised_by=self.request.user)

Tags: djangoinstancepyselfpermissionsgetreturnmodelsdefclassserializeruserexclusionsimprestimprestserializer