我正在研究几个相关的问题,这些问题对待同一个问题,但我仍然没有办法解决它。
事实证明,每次执行与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 :(得分:3)
使用decode('utf-8')进行正确比较:
name.decode('utf-8') == ":memory:" or "mode=memory" in force_text(name)
使用完整信息: