UUID Field
DJangoで、DBにUUIDのフィールドを追加することがあったのでメモ書き。てか、これで合ってるのか自身無い。
class UUIDField (models.CharField): def __init__(self, *args, **kwargs): kwargs['max_length'] = kwargs.get('max_length', 36) kwargs['default'] = kwargs.get('default', '00000000-0000-0000-0000-000000000000') super(UUIDField, self).__init__(*args, **kwargs)
UUIDのwikipediaを見てると、MySQLには独自的にUUIDのフィールドを持っているっぽい。けど、PostgreSQLには持っていなくて拡張する必要があるみたい。ここまで詳しく突っ込んだ記憶は無いけど、上のdefaultの値に-が混じっているのは、SecondLifeのUUID表記がこうなっているからという理由だったりする。