2016-08-05 2 views
2

同じ問題を扱ういくつかの関連する質問を見ていましたが、解決方法はまだありません。Base.py:両方の引数をUnicodeに変換できませんでした。

それは私がDjangoの関連コマンドを実行するたびに、それは私を出力し、このような期待出力プラス何かことが判明:

/Library/Python/2.7/site-packages/django/db/backends/sqlite3/base.py:307: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal 
return name == ":memory:" or "mode=memory" in force_text(name) 

そして、ここでは、その行のコンテキストである:

def is_in_memory_db(self, name): 
    return name == ":memory:" or "mode=memory" in force_text(name) 

Djangoサーバーの動作にもかかわらず、このメッセージを常に画面に表示させるのは面倒です。だから、なぜこれが起こっているのですか?これはどのように解決できますか?比較正しいようにする

+0

HTTPS([PythonのUnicodeの同等比較が失敗した]の可能性のある重複:// deflowwith.com/questions/18193305/python-unicode-equal-comparison-failed) –

答えて

3

使用decode('utf-8')

name.decode('utf-8') == ":memory:" or "mode=memory" in force_text(name) 

使用フル情報:

Unicode HOWTO

Solving Unicode Problems in Python 2.7

+0

とde encode()の代わりにcode()を使用しました。ありがとうございました –

+0

コメントを更新した@FranzechDomâsありがとうございました。 –

関連する問題