@classmethod
    def hash_model_impl(cls, model):
        # if entity versions are available, use them
        entity_version = metadata.get_entity_group_version(model)
        if entity_version:
            return entity_version

        # otherwise, create hash of all model props (and key)
        model_hash = 0
        for prop_key, prop_value in db.to_dict(model).iteritems():
            prop_hash = hash(prop_key)
            if is_list_type(prop_value):
                for idx in range(0, len(prop_value)):
                    prop_hash += (idx * hash(prop_value[idx]))
            else:
                prop_hash += hash(prop_value)
            model_hash = model_hash ^ prop_hash

        model_hash = model_hash ^ (hash(KEY_PROPERTY_NAME) + hash(model.key()))

        return model_hash


# static collection of property handlers for BlobInfo types (because
# BlobInfo.properties() is a set not a dict)
Delete a zone by its ID.
dataset/ETHPy150Open jahlborn/appengine-rest-server/src/main/python/rest/__init__.py/ModelHandler.hash_model_impl--crossover with--dataset/ETHPy150Open softlayer/softlayer-python/SoftLayer/managers/dns.py/DNSManager.delete_zone