【发布时间】:2017-09-15 13:42:11
【问题描述】:
我有一个产品模型,其中一个属性是“my_test_fn”。这是从我的序列化程序中调用的。我的要求是,我想根据通过 url 的过滤器进行一些计算。如何获取模型属性中的 url 参数值?
我想在 my_test_fn 中获取“过滤器”值
models.py
class Product(AbstractProduct):
product_id = models.UUIDField(default=uuid.uuid4, editable=False)
##more fields to go
def my_test_fn(self):
filters = self.request.query_params.get('filters', None)
return {"key":"value"}
serializer.py
class MySerializer(serializers.ModelSerializer):
class Meta:
model = Product
fields = ('id','product_id','sku', 'title', 'my_test_fn',)
views.py
class ProductDetailConfiguration(viewsets.ViewSet):
lookup_field = 'product_id'
def retrieve(self, request, product_id=None):
queryset = Product.objects.filter(product_id=product_id)[0]
serializer = ProductConfigurationCustomSerializer(queryset, context={'request': request})
return Response(serializer.data)
API 网址:
http://127.0.0.1:8000/api/v1/product-configuration/2FC2AA43-07F5-DCF4-9A74-C840FDD8280A?filters=5
【问题讨论】:
标签: python django django-models django-views django-rest-framework