私は値を返すDjango Rest APIを持っています。
このAPIは同時にヒットする可能性があります/
django rest APIはスレッドセーフですか? views.pyDjango Rest Frameworkスレッドは安全ですか?
class ApiDetail(generics.RetrieveUpdateDestroyAPIView):
queryset = Api.objects.all()
serializer_class = ApiSerializer
def get(self, request, *args, **kwargs):
currentForm = self.kwargs['pk']
currentApi = Api.objects.get(pk = currentItem)
currentApi.currentNumber += 1
tempCurrentNum = currentApi.currentNumber
strCurrentNum = str(tempCurrentNum)
currentNumLength = len(strCurrentNum)
if(currentNumLength > currentApi.maxNumberOfDigitsInNum):
currentApi.currentNumber = 1
currentApi.iterativeField = currentApi.fieldPrefix + str(currentApi.currentNumber)
currentApi.save()
return self.retrieve(request, *args, **kwargs)
で
$http.get('//0.0.0.0:8000/api/tempName?format=json')
.success(function (data) {
$scope.iterativeNum = data.iterativeField
})
私は2つの別々の呼び出しは「ApiDetail」ビューをヒットし、前と同じ番号を返すことができます心配です。
私はPython/Djangoを使ってMacで作業しています。 Django 1.9.4、Django Rest 3.3.3。
Fにすべてをラップすることができ()非常に興味深いですが、それはまだ私の問題は解決しません。私はロジックを実行するビューにデータベース内の項目を読み込む必要があります。それだけで私はそれを保存することができます。私はデータベース内のデータを変更することはできません。 –