最近在用django做一下項目, 我也是第一次使用django, 也是第一次比較正式的使用Python. 本文將記錄一下使用django過程中遇到的一下問題和解決辦法. 并且不斷更新!

setting設置


幾天發現部署以后顯示的時間不多, 是因為時區設置到問題

對于我們中國:

TIME_ZONE?=?'Asia/Shanghai'

LANGUAGE_CODE?
=?'zh-cn'


ManyToMany的bug
如果你在使用many-to-many去取數據的時候發生如下異常:

TypeError: filter() keywords must be strings

這個是有django的bug引起的:

修復方法:
django\db\models\fields\related.py 349行

????????def?__init__(self,?model=None,?core_filters=None,?instance=None,?symmetrical=None,
????????????????join_table
=None,?source_col_name=None,?target_col_name=None):
????????????super(ManyRelatedManager,?self).
__init__()
????????????self.core_filters?
=?core_filters
????????????self.model?
=?model
????????????self.symmetrical?
=?symmetrical
????????????self.instance?
=?instance
????????????self.join_table?
=?join_table
????????????self.source_col_name?
=?source_col_name
????????????self.target_col_name?
=?target_col_name
????????????self._pk_val?
=?self.instance._get_pk_val()

改成

????????def?__init__(self,?model=None,?core_filters=None,?instance=None,?symmetrical=None,
????????????????join_table
=None,?source_col_name=None,?target_col_name=None):
????????????super(ManyRelatedManager,?self).
__init__()
????????????
????????????
for?key,?value?in?core_filters.items():?
????????????????
if?not?isinstance(key,?str):?
????????????????????
del?core_filters[key]??
????????????????????core_filters[smart_str(key)]?
=?value
????????????????????
????????????self.core_filters?
=?core_filters
????????????self.model?
=?model
????????????self.symmetrical?
=?symmetrical
????????????self.instance?
=?instance
????????????self.join_table?
=?join_table
????????????self.source_col_name?
=?source_col_name
????????????self.target_col_name?
=?target_col_name
????????????self._pk_val?
=?self.instance._get_pk_val()