【发布时间】:2017-01-19 05:11:06
【问题描述】:
我使用 Django 2.7 构建 Rest API 应用程序,并且在验证/清理来自客户端的请求数据以获取详细事务(不保存/更新)时遇到问题。例如请求数据 trx_no 不能少于 5 个字符长度。我应该在哪里创建验证类?我应该在 Model.py 或使用表单还是在序列化程序中进行验证? 这是我的 models.py:
class mst_trx(models.Model):
trx_no = models.CharField(max_length=20,primary_key=True)
这是我的views.py:
class views_index(APIView):
def post(self,request):
action = request.POST['action']
if action == 'detail' :
resp = detail.as_view()(request)
class detail(APIView):
def dispatch(self,request):
##I want to validate first before get data
try:
detail = mst_trx.objects.select_related().get(pk=request.POST['trx_no'])
except mst_trx.DoesNotExist:
raise Http404("Transaction does not exist")
else:
serializer = TrxDetailSerializer(detail)
return serializer.data
这是我的 serializer.py :
class TrxDetailSerializer(serializers.ModelSerializer):
class Meta:
model = mst_trx
fields = ('trx_no')
【问题讨论】:
标签: django python-2.7 rest api validation