2012-01-15 9 views
1

私はdjangoモデルを辞書に変換するメソッドを持つコードを継承しています。さて、ここでforce_unicodeが使われる理由は分かりません。実際にforce_unicodeを使用する理由

def model_to_dictonary(instance): 
    for field in instance._meta.fields: 
     if isinstance(field, ForeignKey): 
      dictionay_obj[field.name] = force_unicode(getattr(instance, field.name)) 

オブジェクト(すなわちForeignKeyの)がnullの場合、この行(force_unicode)はexcpetionをスロー。

おかげ

+0

' force_unicode'はコード内のカスタムメソッドです。それは何でもできる。しかし、私の推測は、基本的には 'lambda x:unicode(x)'だということです。特定のインスタンスでフィールドが 'None'(私があなたが' null'を意味すると仮定していると仮定している)に設定されているために失敗した場合は、そのインスタンスまたは外部キーの指定を修正する必要があります。 – phihag

+1

Djangoのforce_unicode関数を使用していますか? https://docs.djangoproject.com/en/dev/ref/unicode/#useful-utility-functions –

答えて

2

それはジャンゴからforce_unicode()である場合、それはユニコードを使用して表現する力(それを待つ)に文字列を必要とします:(https://docs.djangoproject.com/en/dev/ref/unicode/

もしそうなら、あなたは "追加する必要がありますdjango "をタグとして使用します)。

+0

はい。今私はそれを得る。値を文字列として保存したいので、force_unicodeを実行しています。 – John

関連する問題