質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

785閲覧

djangoでuuidフィールドを設定したら、Field 'object_id' expected a number but got '78a0767cb607488087a73f17565bbが出る

nao_ta

総合スコア2

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

1クリップ

投稿2020/10/30 16:45

編集2020/10/30 16:51

基本的にはこちらと同じなのですが解答がついていないので質問させていただきます。
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'.

おそらく数字しか受け付けていないのにもかかわらず英字が混ざっていることが原因だとは考えられるのですが、データベースに関する知識が浅く、解決法がわからずてこずっています。このエラーを回避できる方法があればご教示お願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

sqliteだとどのみち無理っぽいのでmysqlに変更することにしました

投稿2020/11/01 01:56

nao_ta

総合スコア2

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

uuidFieldを使用すればいいと思ったのですが、uuidではなくて、ハイフンを排除したいのでしょうか??

投稿2020/10/31 08:09

Yuuuya_mmm

総合スコア11

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問