1

参考までに-これはDjangoを使用するプログラムですが、Djangoの問題ではないため、そのようにタグ付けしていません。Djangoコードはコンテキストのためにここにあります

~~背景~~

プログラムにあったバグを発見しました。つまり、urlparse.urlparse特定の URI から情報を取得してデータベースに保存するために使用しています。

目標は、次のようなことをすることです:

url = urlparse.urlparse('http://somedomain.com/yada/yada')
some_instance = Domain(address=url.netloc)

~~問題~~

問題は、コーディングの誤りにより、データベースがurlparseオブジェクトでいっぱいになることです。したがって、データベースからインスタンスを呼び出すと、結果は Unicode 文字列になります。

some_instance = Domain.objects.get(pk=XX)
some_instance.address
>>> u"ParseResult(scheme=u'http', netloc=u'www.somedomain.com', path=u'/', params='', query=u'_vsrefdom=googleppc', fragment='')"

おっとっと。

~~質問~~

明らかに、戻って多くのレコードを修正する必要があります。私が知りたいのは、オブジェクトの Unicode 表現 (実際の.__unicode__()戻り値ではない) をオブジェクト自体に復元する良い Pythonic の方法があるかどうかです。

考え?

.__unicode__()私はGoogleとStackOverflowを少し調べましたが、問題は、表現自体ではなく、出力の取引に出くわした検索です。

4

1 に答える 1