コード例 #1
0
from pgfields.arrays import *
from pgfields.basic import *
from pgfields.hstore import *
from pgfields.viewtables import *

from pgfields.utils import addrule
addrule([], ['pgfields\.hstore\.hstore'])
addrule([], ['pgfields\.arrays'])
addrule([], ['pgfields\.basic'])

コード例 #2
0
ファイル: basic.py プロジェクト: spuriousdata/django-pgfields
            pass
        return name, path, args, kwargs

    def db_type(self, connection):
        return self.type_name

    def create_type(self):
        return "CREATE TYPE %s as ENUM (%s)" % (
            self.type_name, ','.join(str(adapt(v).getquoted()) for v in self.enumeration)
        )

addrule([
    (
        [EnumField],
        [],
        {
            'enumeration':['enumeration', {}],
            'type_name':['type_name', {}],
        },
    ),
], ['^pgfields\.basic\.EnumField'])

class UUIDField(models.Field):
    description = "PostgreSQL UUID type"
    __metaclass__ = models.SubfieldBase
    __uuid_version_default = 4

    def __init__(self, *args, **kwargs):
        self.uuid_version = kwargs.pop('uuid_version', UUIDField.__uuid_version_default)
        # GAH! Can't do this, django caches the default value as a static
        # string
        #kwargs['default'] = getattr(uuid, "uuid%d" % self.uuid_version)()