最近在用django做一下項(xiàng)目, 我也是第一次使用django, 也是第一次比較正式的使用Python. 本文將記錄一下使用django過(guò)程中遇到的一下問(wèn)題和解決辦法. 并且不斷更新!
setting設(shè)置
幾天發(fā)現(xiàn)部署以后顯示的時(shí)間不多, 是因?yàn)闀r(shí)區(qū)設(shè)置到問(wèn)題
對(duì)于我們中國(guó):
TIME_ZONE?=?'Asia/Shanghai'
LANGUAGE_CODE?=?'zh-cn'
ManyToMany的bug
如果你在使用many-to-many去取數(shù)據(jù)的時(shí)候發(fā)生如下異常:
TypeError: filter() keywords must be strings
這個(gè)是有django的bug引起的:
修復(fù)方法:
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()