def create_fixtures(do_schemas=True, load_attr_types=False): objres = {} schres = {} if do_schemas or load_attr_types: loadattrtypes.run() if do_schemas: schres.update(create_schema_fixtures(DEFAULT_SCHEMATA)) for iorg in range(1, 4): org = OrganizationFactory.create(name="Organization #{}".format(iorg)) objres["org{}".format(iorg)] = org for iprj in range(1, 4): proj = ProjectFactory.create(name="Project #{}.{}".format(iorg, iprj), organization=org) objres["proj{}{}".format(iorg, iprj)] = proj if do_schemas: schres.update(create_schema_fixtures(SPECIFIC_SCHEMATA)) for iorg in range(1, 4): org = Organization.objects.get(name="Organization #{}".format(iorg)) for iprj in range(1, 4): proj = Project.objects.get(name="Project #{}.{}".format(iorg, iprj)) for ient in range(1, 6): parcel = ParcelFactory.create(address="Parcel #{}.{}.{}".format(iorg, iprj, ient), project=proj) objres["parcel{}{}{}".format(iorg, iprj, ient)] = parcel attrs = {} if iorg == 1 and iprj == 1 and do_schemas: attrs = {"dob": "1975-11-06"} party = Party.objects.create(name="Party #{}.{}.{}".format(iorg, iprj, ient), project=proj, attrs=attrs) objres["party{}{}{}".format(iorg, iprj, ient)] = party for m in ["organization", "project", "party", "parcel"]: objres[m + "_t"] = ContentType.objects.get(app_label="tests", model=m) if do_schemas: return objres, schres else: return objres
def create_labelled_schemata(): loadattrtypes.run() # Initial schema: # f1: non-required string field # f2: required string field # f3: non-required integer field # f4: choices field ('abc', 'def', 'ghi', 'jkl') create_labelled_schema("initial") # Remove non-required field schema: # f2: required string field # f3: non-required integer field # f4: choices field ('abc', 'def', 'ghi', 'jkl') create_labelled_schema("remove_non_required", "-f1") # Remove required field schema: # f1: non-required string field # f3: non-required integer field # f4: choices field ('abc', 'def', 'ghi', 'jkl') create_labelled_schema("remove_required", "-f2") # Add new non-required field schema: # f1: non-required string field # f2: required string field # f3: non-required integer field # f4: choices field ('abc', 'def', 'ghi', 'jkl') # f5: non-required integer field create_labelled_schema("new_non_required", "+f5-nonreq") # Add new required field (no default) schema: # f1: non-required string field # f2: required string field # f3: non-required integer field # f4: choices field ('abc', 'def', 'ghi', 'jkl') # f5: required integer field (no default) create_labelled_schema("new_required_no_default", "+f5-req-no-default") # Add new required field (default) schema: # f1: non-required string field # f2: required string field # f3: non-required integer field # f4: choices field ('abc', 'def', 'ghi', 'jkl') # f5: required integer field (default) create_labelled_schema("new_required_default", "+f5-req-default") # Change field type (compatible) schema: # f1: non-required string field # f2: required string field # f3: non-required string field # f4: choices field ('abc', 'def', 'ghi', 'jkl') create_labelled_schema("type_compatible", "f3-text") # Change field type (incompatible) schema: # f1: non-required string field # f2: required integer field # f3: non-required integer field # f4: choices field ('abc', 'def', 'ghi', 'jkl') create_labelled_schema("type_incompatible", "f2-int") # Remove choices list schema: # f1: non-required string field # f2: required integer field # f3: non-required integer field # f4: non-required string field create_labelled_schema("remove_choices", "f4-remove-choices") # Add choices list schema: # f1: choices field ('ABC', 'DEF', 'GHI', 'JKL') # f2: required integer field # f3: non-required integer field # f4: choices field ('abc', 'def', 'ghi', 'jkl') create_labelled_schema("add_choices", "f1-add-choices") # Change choices list schema: # f1: non-required string field # f2: required integer field # f3: non-required integer field # f4: choices field ('ghi', 'jkl', 'mno', 'pqr') create_labelled_schema("change_choices", "f4-change-choices")