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

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

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

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

Python

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

Q&A

解決済

1回答

14844閲覧

【Django】__str__ returned non-string (type int)

退会済みユーザー

退会済みユーザー

総合スコア0

Django

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

Python

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

1グッド

1クリップ

投稿2017/10/31 02:22

Djangoでアプリを作っています。
モデルに、下記のようなReceiptクラスを作っていたのですが、元々は動いていたはずなのに、Adminサイトでデータを追加・しようとすると、
str returned non-string (type int)
というエラーが出てしまいます。

下記モデルの、def str(self):以下を削除しても効果は同じです。

python

1# models.py 2class Receipt(models.Model): 3 billing_id = models.ForeignKey(Billing, verbose_name="請求書番号") 4 receipt_date = models.DateField(verbose_name="入金日") 5 receipt_amount = models.IntegerField(verbose_name="入金金額") 6 registered_date = models.DateTimeField(auto_now=True, verbose_name="更新日時") 7 def __str__(self): 8 return str(self.billing_id)

どなたか、原因がお分かりになる方見えますでしょうか。
よろしくお願い致します。

llr114👍を押しています

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

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

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

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

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

can110

2017/10/31 13:38

エラーのTracebackをそのまま提示ください。(illing_idがForeignKeyなので別クラスでエラー発生していないか?)
退会済みユーザー

退会済みユーザー

2017/10/31 22:48

ありがとうございます。直りました!ForeignKeyの参照先のモデルを修正したら、直りました。
guest

回答1

0

ベストアンサー

str returned non-string (type int)
というエラーが出てしまいます。

def __str__(self): メソッドが整数値を返しているというエラーですね。

おそらく、 return self.billig_id と書いて実行した状態のまま再起動がうまくできていないのだと思います。

下記モデルの、 def __str__(self): 以下を削除しても効果は同じです。

明示的に再起動してみてください。コード的には今提示されている return str(self.billing_id) でもOKです。

投稿2017/10/31 03:40

shimizukawa

総合スコア1847

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

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

退会済みユーザー

退会済みユーザー

2017/10/31 13:14

ありがとうございます。 しかし、まだうまくいっていません… WindowsPC上の開発環境で起動させています。 いったん止めて、ブラウザ上でサーバーが止まっていることを確認した上で、再度起動してから試してみましたが、うまくいきませんでした。念のため、PC自体の再起動もかけてみましたが、同じ結果です。 関係ないかもしれませんが、migrationsのファイルを全部削除してみましたが、同様でした。
退会済みユーザー

退会済みユーザー

2017/10/31 22:50

ForeignKeyの参照先のBillingモデルを修正したら、直りました。 class Billing(models.Model): … def __str__(self): return self.billing_id となっていたのを、 return str(self.billing_id) にしたら、直りました。 ありがとうございましたm(__)m
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問