首页 > 解决方案 > Django 值按函数转换

问题描述

使用 django rest 框架执行以下操作的最佳方法是什么?

假设我的服务器将收到相同对象的以下 JSON 数据:

// Case 1:
{
 "name":"apple",
 "category": "fruit" // fruit = 1
}
// Case 1.1:
{
 "name":"apple",
 "category": "1" // 1 for fruit
}
// Case 2: (IDEAL)
{
 "name":"apple",
 "category": 1 // 1 for fruit
}  
// Case 3:
{
 "name":"apple" // fill with default 1
} 

我现在的解决方案是为类别等特殊字段编写一个特殊的转换函数。

但是,我的方法有一些问题

  1. 存在很多类似的,这种方法需要更多的硬编码
  2. 键值转换对会经常更新
  3. 此操作涉及 CRUD

标签: pythondjangodjango-rest-framework

解决方案


您可以使用字典来处理不同的情况吗?(也就是说,如果你知道这些情况会重复)例如

{"1":1,"fruit":1,"Fruit":1,1:1,"FRUIT":1}

并使用类别作为获取价值的关键


推荐阅读