def METHOD_NAME(self, num_presentations, vmpp_per_presentation=1):
    presentations = []
    vmp_basis, _ = dmd_models.BasisOfName.objects.get_or_create(
        cd=1, descr="rINN - Recommended International Non-proprietary"
    )
    vmp_pres_stat, _ = dmd_models.VirtualProductPresStatus.objects.get_or_create(
        cd=1, descr="Valid as a prescribable product"
    )
    for i in range(num_presentations):
        presentation = Presentation.objects.create(
            bnf_code="0123456789ABCD{}".format(i),
            name="Foo Tablet {}".format(i),
            dmd_name="VMP Foo Tablet {}".format(i),
            quantity_means_pack=self.random.choice([True, False, None]),
        )
        vmp = dmd_models.VMP.objects.create(
            id=i,
            invalid=False,
            nm="VMP " + presentation.name,
            basis=vmp_basis,
            pres_stat=vmp_pres_stat,
            sug_f=False,
            glu_f=False,
            pres_f=False,
            cfc_f=False,
            bnf_code=presentation.bnf_code,
        )
        qtyval = self.random.randint(5, 25)
        for vppid in range(0, vmpp_per_presentation):
            vppid = i * 10 + vppid
            dmd_models.VMPP.objects.create(
                id=vppid,
                vmp=vmp,
                invalid=False,
                nm="VMPP %s (%s)" % (presentation.name, vppid),
                qtyval=qtyval,
                bnf_code=presentation.bnf_code,
            )
        presentations.append(presentation)
    return presentations