示例#1
0
文件: fields.py 项目: mariusae/ddb
    def contribute_to_class(self, cls, name):
        super(DocTypeField, self).contribute_to_class(cls, name)
        attr = cls.__dict__[name]

        mfield = self.__mfield

        class Proxy(object):
            def __get__(self, obj, type=None):
                try:
                    return attr.__get__(obj, type).name
                except DocType.DoesNotExist:
                    return ''

            def __set__(self, obj, value):
                dt = DocType.make(name=value, model=cls, mfield=mfield)
                attr.__set__(obj, dt)

        setattr(cls, name, Proxy())

        contribute_doc_metadata(cls, self.__mfield, type_mfield=name)
示例#2
0
文件: fields.py 项目: mariusae/ddb
 def contribute_to_class(self, cls, name):
     super(DocIndex, self).contribute_to_class(cls, name)
     contribute_doc_metadata(cls, self.__mfield, index_mfield=name)
     setattr(cls, '_has_doc_index', True)