Ejemplo n.º 1
0
 def test_get_all_category(self):
     response = self.client.get(
         reverse('category'))  #@todo : find corrent url to reverse
     categories = Category.objects.all()
     serializer = CategorySerializer(categories, many=True)
     self.assertEqual(response.data, serializer.data)
     self.assertEqual(response.status_code, status.HTTP_200_OK)
Ejemplo n.º 2
0
class AttractionSerializer(serializers.ModelSerializer):
    city = CitySerializer(read_only=True)
    category = CategorySerializer(read_only=True)

    class Meta:
        model = Attraction
        fields = [
            'pk',
            'name',
            'description',
            'picture',
            'city',
            'rate',
            'price',
            'category',
            'latitude',
            'longitude',
            'start_h',
            'end_h',
        ]

    def validate_name(self, value):
        qs = Attraction.objects.filter(name=value)
        if qs.exists():
            raise serializers.ValidationError("Nazwa musi być unikalna")
        return value
Ejemplo n.º 3
0
class ProductSerializer(serializers.ModelSerializer):
    category     = CategorySerializer(many=True, required=False, read_only=True)  
    category_ids = serializers.PrimaryKeyRelatedField(source='category', many=True, queryset=Category.objects.all())
    created_by   = UserDetailsSerializer(required=False)
    updated_by   = UserDetailsSerializer(required=False)
    deleted_by   = UserDetailsSerializer(required=False)

    class Meta:
        model = Product
        fields = (
            "id", "name", "category_ids", "category", "description", "price", 
            "quantity", "created_at", "created_by", "updated_at", 
            "updated_by", "deleted_at", "deleted_by",
        )
        # depth = 1

    def create(self, validated_data):
        categories = validated_data.pop("category")
        product = super().create(validated_data)
        for item in categories:
            product.category.add(item)
        return product

    
    def update(self, instance, validated_data):
        categories = validated_data.pop("category")
        instance = super().update(instance, validated_data)
        instance.category.set(categories)
        return instance
Ejemplo n.º 4
0
class PostSerializer(serializers.ModelSerializer):
    category = CategorySerializer()
    author = AuthorSerializer()
    comments = CommentSerializer(many=True)

    class Meta:
        model = Post
        fields = ['id', 'title', 'excerpt', 'category', 'author', 'comments']
Ejemplo n.º 5
0
class PostUpdateSerializer(serializers.ModelSerializer):
    category = CategorySerializer()
    author = AuthorSerializer()

    class Meta:
        model = Post
        fields = [
            'id', 'title', 'excerpt', 'status', 'views_count', 'category',
            'author', 'meta_title', 'meta_description'
        ]
Ejemplo n.º 6
0
class PostListSerializer(serializers.ModelSerializer):
    category = CategorySerializer()
    author = AuthorSerializer()

    class Meta:
        model = Post
        fields = [
            'id', 'title', 'excerpt', 'status', 'views_count', 'category',
            'author', 'created_at', 'schedule_date'
        ]
Ejemplo n.º 7
0
    def partial_update(self, request, *args, **kwargs):

        kwargs['partial'] = True

        instance = get_object_or_404(Category, pk=kwargs.get('id'))

        if instance.status:
            instance.status = False
        else:
            instance.status = True

        instance.save(update_fields=["status"])
        serializer = CategorySerializer(instance, many=False)

        return Response(status=status.HTTP_200_OK, data=serializer.data)