os.urandom(BLOCK_SIZE)
Djangoモデルを使用してPostgresデータベースに保存する必要のあるバイナリデータ(を使用して作成)がある状況に遭遇しました。
DjangoがまだBytea(VARBINARY)フィールドタイプをサポートしていないことについてのいくつかのリファレンスを読みました。ここでリファレンスを見つけましたが、そのライブラリ(django_postgresql)の入手先がわかりません。
私は現在、Ubuntu12.04でPython2.7とDjango1.4を使用しています。
これを回避する方法として、データを保存する前にデータを16進数に変換する方法として、いくつかの提案を読みました。
import binascii
key = binascii.hexlify(value)
さて、今何?この値をデータベースに保存しようとしましたが、エラーが発生します。
invalid byte sequence for encoding "UTF8": 0xd6c2
わかりました。これを行うには、どのデータフィールドタイプを使用する必要がありますか?
key = models.TextField(max_length = 200)
?
key = models.CharField(max_length = 200)
?
key = models.???(max_length = 200)
???
独自のカスタムフィールドタイプを作成しないようにしたいと思います。まず、私はDjangoにかなり慣れていないので、これを行うのはまだ快適ではありません。第二に、私はデータベースにかなり慣れていないので、このようなものをどこから定義し始めるのかわかりません。
助言がありますか?