我不确定这是一个django / drf问题,还是只是处理args / kwaargs的简单Python问题..
我创建了一个改变传入JSON上某些字段的函数,我试图通过views.py中的POST方法调用它。
问题是我需要函数来处理可变数量的变量以及django请求对象,我不知道如何处理它而不会出现错误。
这是我目前的代码:
在views.py 中def post(self, request, person, city, format=None):
request = PreSerializer(request, person, city)
serializer = CreateRecordSerializer(data=request.data)
if serializer.is_valid():
def PreSerializer(request, *args):
if person = "david":
person = 1:
# Converts strings in JSON to foreignkey ID's
if 'name' in request.data:
person_record = get_object_or_404(Person, name=[request.data['person'])
request.data["person"] = person_record.id
if 'city' in request.data:
city_record = get_object_or_404(City, name=request.data['city])
request.data["city"] = city_record.id
return request
我认为这个问题与(request,* args)
有关if person
UnboundLocalError: local variable 'person' referenced before assignment
答案 0 :(得分:1)
您可以更改功能的签名以包含$(document).ready(function() {
//exit early if no geolocation
if(!navigator.geolocation) return;
var destinationAddress = "<?=$destionationAddress?>";
} );
person
或者,如果您可以从def PreSerializer(request, person, *args):
if person = "david":
...
获取此人。
args