def get_owner_ids_by_type(domain, owner_type, data_item_id): from corehq.apps.fixtures.models import FixtureOwnership assert owner_type in FixtureOwnership.owner_type.choices, \ "Owner type must be in {}".format(FixtureOwnership.owner_type.choices) return FixtureOwnership.get_db().view( 'fixtures/ownership', key=[domain, '{} by data_item'.format(owner_type), data_item_id], reduce=False, wrapper=lambda r: r['value'])
def get_owner_ids_by_type(domain, owner_type, data_item_id): from corehq.apps.fixtures.models import FixtureOwnership assert owner_type in FixtureOwnership.owner_type.choices, \ "Owner type must be in {}".format(FixtureOwnership.owner_type.choices) return FixtureOwnership.get_db().view( 'fixtures/ownership', key=[domain, '{} by data_item'.format(owner_type), data_item_id], reduce=False, wrapper=lambda r: r['value'] )
def remove_deleted_ownerships(deleted_fixture_ids, domain): from corehq.apps.fixtures.models import FixtureOwnership for fixture_ids in chunked(deleted_fixture_ids, 100): bad_ownerships = FixtureOwnership.for_all_item_ids(fixture_ids, domain) FixtureOwnership.get_db().bulk_delete(bad_ownerships)