Python django,更改字段值;在保存到数据库之前在模型中
类播放器列表(models.Model): 序列化程序.pyPython 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
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