Python django,更改字段值​;在保存到数据库之前在模型中

Python django,更改字段值​;在保存到数据库之前在模型中,python,django,django-rest-framework,Python,Django,Django Rest Framework,类播放器列表(models.Model): 序列化程序.py class PlayerSerializer(serializers.ModelSerializer): class Meta: fields = ["name", "position", "h_code", "d_code"] model = PlayerList view.py class PostPl

类播放器列表(models.Model):

序列化程序.py

class PlayerSerializer(serializers.ModelSerializer):    
    class Meta:
        fields = ["name", "position", "h_code", "d_code"]
        model = PlayerList
view.py

class PostPlayer(generics.ListCreateAPIView):
    queryset = PlayerList.objects.all().order_by('-d_code')
    serializer_class = PlayerListSerializer

    def get(self, request, *args, **kwargs):
        d_code = request.data.get('h_code') + 'test'
        print(d_code)
打印(d_代码):

通过api输入值时,我想实现将输入的值更改为view.py中的另一个值并保存在db中

我想将def get处理的d_代码保存到db中

我不知道该怎么办。你能告诉我吗


没有答案,因此我将再次发布。

您可以覆盖视图
执行_create()
方法,如中所述(您可能需要滚动一点,它位于保存和删除挂钩部分:

类后层(generics.ListCreateAPIView):
queryset=PlayerList.objects.all().order_by('-d_code'))
serializer\u class=PlayerListSerializer
def get(自我、请求、*args、**kwargs):
d_code=request.data.get('h_code')+'test'
打印(d_代码)
...
...
def执行_创建(自、序列化程序):
d_code=request.data.get('h_code')+'test'
#用d_代码做些什么
new_code=d_code+“someSampleValue”
serializer.save(d_代码=新的_代码)

如果要更新对象,请使用uodate api视图。Get方法仅用于显示数据。当使用相应的UpdateAliview时,可以重写update方法来处理参数并相应地更新模型对象。请告知这是否解决了您的问题。我知道如何更改数据,但不知道如何更改将更改的数据放入模型字段。您知道吗?
class PostPlayer(generics.ListCreateAPIView):
    queryset = PlayerList.objects.all().order_by('-d_code')
    serializer_class = PlayerListSerializer

    def get(self, request, *args, **kwargs):
        d_code = request.data.get('h_code') + 'test'
        print(d_code)
h000001test