1.Models's nameはUserRecordです。
2.Belowは私の見解のコードです。Djangoモデルはデータ複製を作成します
@login_required
def data(request, page, keyword,strEncode):
current_username = request.user.username
data_s = dosomething() #It takes a long time!!!
UserRecord.objects.get_or_create(user=User.objects.get(username=current_username),MyRecords=keyword) # in order to create unique value
# or use below method
# if not UserRecord.objects.filter(user=User.objects.get(username=current_username),MyRecords=keyword):
# UserRecord.objects.create(user=User.objects.get(username=current_username),MyRecords=keyword)
return JsonResponse(data_s, safe=False)
次のURLでは、間隔を置かずに何度もリクエストしますが、同時スレッド化のようなものです。
http://127.0.0.1:8000/data/1/test/english/
この操作が完了すると、MyRecords列には重複した値が設定されます。
この問題を処理するために 'with transaction.atomic'を使用するDjangoドキュメントで何かが見つかりましたが、機能しませんでした。
ユーザー= models.ForeignKey(ユーザー) – blueboy