def get_object(self): table_pk = self.kwargs.get('table_pk', None) model_defs = models.ModelDefinition.objects.filter(pk=table_pk) field_pk = self.kwargs.get('field_pk', None) base_field = get_object_or_404(models.FieldDefinition, pk=field_pk) field_type_pk = base_field.type_cast().get_content_type().pk self.form_class = get_field_def_form(field_type_pk, model_defs) self.model = get_mutant_type(field_type_pk) field = self.model.objects.get(pk=field_pk) return field
def _prepare_dynamic_form(self, request, table_pk, super_func): form = AddFieldForm(request.GET) if form.is_valid(): field_type_pk = form.cleaned_data['field_type'] table_pk = self.kwargs.get('table_pk', None) model_defs = models.ModelDefinition.objects.filter(pk=table_pk) self.form_class = get_field_def_form(field_type_pk, model_defs) self.model = get_mutant_type(field_type_pk) self.initial = {'model_def': table_pk, 'content_type': field_type_pk} return super_func() else: return redirect(self.get_success_url())