基本的にはこちらと同じなのですが解答がついていないので質問させていただきます。
djangoのモデルで下記のようにuuidを書きました。
python
1class User(models.Model): 2 class Meta: 3 db_table = 'user' 4 5 def get_uuid_no_dash(): 6 return uuid.uuid4().hex 7 8 # ユーザーのID 9 id = models.CharField(primary_key=True, default=get_uuid_no_dash, max_length=33, editable=False, unique=True) 10 #id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) 11 # ユーザー名 12 user_name = models.CharField(verbose_name="ユーザー名", max_length=20, unique=True) 13 # プロフィール写真(無くても可) 14 prof_image = models.ImageField(upload_to='images', verbose_name="プロフィール画像", null=True, blank=True) 15 # 自己紹介文(無くても可) 16 intro = models.TextField(verbose_name='紹介文', null=True, blank=True) 17 # スキルタグ 18 skills = TaggableManager(verbose_name='スキル' ,blank=True) 19 20 def __str__(self): 21 return self.user_name
その後、マイグレーションを行い、adminでデータの追加を試みたところ、下記のエラーが発生しました。
ValueError at /admin/user/user/add/ Field 'object_id' expected a number but got '78a0767cb607488087a73f17565bbf77'.
おそらく数字しか受け付けていないのにもかかわらず英字が混ざっていることが原因だとは考えられるのですが、データベースに関する知識が浅く、解決法がわからずてこずっています。このエラーを回避できる方法があればご教示お願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。