djangoでサーバー側で取得したデータをデータベースに格納したいのですが、ValueError: Field 'id' expected a number but got 'suzukitadashi' とエラーが出ました。
appプロジェクトの中のmodels.pyに
from django.db import models from django.contrib.auth.models import User class User(models.Model): user_id = models.CharField(max_length=10) password1 = models.CharField(max_length=20) password2 = models.CharField(max_length=20) class Analytics(models.Model): user_foreign_key = models.ForeignKey("auth.User", on_delete=models.CASCADE, verbose_name="foreign_key") point = models.CharField(max_length=200)
と書いて
indexプロジェクトの中のmodels.pyに
from django.db import models class UserData(models.Model): data_foreign_key = models.ForeignKey("registration.User", on_delete=models.CASCADE) user_id = models.CharField(max_length=20) access_date = models.DateTimeField('アクセス日時')
と書きました。
indexのviews.pyには
def top(request): json_data = json.loads(request.body.decode("utf-8"), strict=False) user_data = UserData.objects.get(data_foreign_key="suzukitadashi") user_data.user_id = get_random_string(10) user_data.access_date = datetime.datetime.now() user_data.save() return JsonResponse(json_data, safe=False)
と書きました。
このtopメソッドにアクセスしてデータの格納のコードを実行すると、上記のエラーが出ました。
試しに
user_data = UserData.objects.get(data_foreign_key=1)
と書き換えてもエラーが出ました。
djangoのアプリにはsuzukitadashiでログインしています。
何が問題で発生しているエラーでしょうか??
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/11 04:35
2020/11/11 04:36
2020/11/16 14:49