当前位置: 首页>>代码示例>>Python>>正文


Python models.inlineformset_factory方法代码示例

本文整理汇总了Python中django.forms.models.inlineformset_factory方法的典型用法代码示例。如果您正苦于以下问题:Python models.inlineformset_factory方法的具体用法?Python models.inlineformset_factory怎么用?Python models.inlineformset_factory使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在django.forms.models的用法示例。


在下文中一共展示了models.inlineformset_factory方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: get

# 需要导入模块: from django.forms import models [as 别名]
# 或者: from django.forms.models import inlineformset_factory [as 别名]
def get(self, request, *args, **kwargs):
        """Overriding get method to handle inline formset."""
        # Setup the formset for PlanCost
        PlanCostFormSet = inlineformset_factory(  # pylint: disable=invalid-name
            parent_model=models.SubscriptionPlan,
            model=models.PlanCost,
            form=forms.PlanCostForm,
            can_delete=False,
            extra=1,
        )

        self.object = None
        form = self.get_form(self.get_form_class())
        cost_forms = PlanCostFormSet()

        return self.render_to_response(
            self.get_context_data(
                form=form,
                cost_forms=cost_forms,
            )
        ) 
开发者ID:studybuffalo,项目名称:django-flexible-subscriptions,代码行数:23,代码来源:views.py

示例2: post

# 需要导入模块: from django.forms import models [as 别名]
# 或者: from django.forms.models import inlineformset_factory [as 别名]
def post(self, request, *args, **kwargs):
        """Overriding post method to handle inline formsets."""
        # Setup the formset for PlanCost
        PlanCostFormSet = inlineformset_factory(  # pylint: disable=invalid-name
            parent_model=models.SubscriptionPlan,
            model=models.PlanCost,
            form=forms.PlanCostForm,
            can_delete=False,
            extra=1,
        )

        self.object = None
        form = self.get_form(self.get_form_class())
        cost_forms = PlanCostFormSet(self.request.POST)

        if form.is_valid() and cost_forms.is_valid():
            return self.form_valid(form, cost_forms)

        return self.form_invalid(form, cost_forms) 
开发者ID:studybuffalo,项目名称:django-flexible-subscriptions,代码行数:21,代码来源:views.py

示例3: test_deletion

# 需要导入模块: from django.forms import models [as 别名]
# 或者: from django.forms.models import inlineformset_factory [as 别名]
def test_deletion(self):
        PoemFormSet = inlineformset_factory(Poet, Poem, can_delete=True, fields="__all__")
        poet = Poet.objects.create(name='test')
        poem = poet.poem_set.create(name='test poem')
        data = {
            'poem_set-TOTAL_FORMS': '1',
            'poem_set-INITIAL_FORMS': '1',
            'poem_set-MAX_NUM_FORMS': '0',
            'poem_set-0-id': str(poem.pk),
            'poem_set-0-poet': str(poet.pk),
            'poem_set-0-name': 'test',
            'poem_set-0-DELETE': 'on',
        }
        formset = PoemFormSet(data, instance=poet)
        formset.save()
        self.assertTrue(formset.is_valid())
        self.assertEqual(Poem.objects.count(), 0) 
开发者ID:nesdis,项目名称:djongo,代码行数:19,代码来源:tests.py

示例4: test_save_new

# 需要导入模块: from django.forms import models [as 别名]
# 或者: from django.forms.models import inlineformset_factory [as 别名]
def test_save_new(self):
        """
        Make sure inlineformsets respect commit=False
        regression for #10750
        """
        # exclude some required field from the forms
        ChildFormSet = inlineformset_factory(School, Child, exclude=['father', 'mother'])
        school = School.objects.create(name='test')
        mother = Parent.objects.create(name='mother')
        father = Parent.objects.create(name='father')
        data = {
            'child_set-TOTAL_FORMS': '1',
            'child_set-INITIAL_FORMS': '0',
            'child_set-MAX_NUM_FORMS': '0',
            'child_set-0-name': 'child',
        }
        formset = ChildFormSet(data, instance=school)
        self.assertIs(formset.is_valid(), True)
        objects = formset.save(commit=False)
        for obj in objects:
            obj.mother = mother
            obj.father = father
            obj.save()
        self.assertEqual(school.child_set.count(), 1) 
开发者ID:nesdis,项目名称:djongo,代码行数:26,代码来源:tests.py

示例5: user_profile_save_locations

# 需要导入模块: from django.forms import models [as 别名]
# 或者: from django.forms.models import inlineformset_factory [as 别名]
def user_profile_save_locations(request):
    profile = request.user.userprofile
    LocationsFormset = inlineformset_factory(
        UserProfile, Location, form=LocationEditForm, extra=1)
    formset = LocationsFormset(data=request.POST, instance=profile)
    if not formset.is_valid():
        messages.error(request,
                       _("There was one or more errors processing the form. You may need to scroll down to see them."))
        return render(request, 'user/profile/edit/locations.html', {
            'formset': formset,
            'profile': profile,
        })

    formset.save()
    messages.success(request, _("Form saved. Thank you!"))
    return HttpResponseRedirect('/profile/edit/locations/') 
开发者ID:astrobin,项目名称:astrobin,代码行数:18,代码来源:__init__.py

示例6: rule_formset_factory

# 需要导入模块: from django.forms import models [as 别名]
# 或者: from django.forms.models import inlineformset_factory [as 别名]
def rule_formset_factory(grade_source, reqpost=None):
    if grade_source.scale == 'DISC':
        DiscreteRuleFormSet = inlineformset_factory(GradeSource, DiscreteRule, can_delete=True, extra=10)
        formset = DiscreteRuleFormSet(reqpost, instance=grade_source)
    else:
        ContinuousRuleFormSet = inlineformset_factory(GradeSource, ContinuousRule, can_delete=True, extra=10)
        formset = ContinuousRuleFormSet(reqpost, instance=grade_source)

    return formset 
开发者ID:sfu-fas,项目名称:coursys,代码行数:11,代码来源:forms.py

示例7: get_formset

# 需要导入模块: from django.forms import models [as 别名]
# 或者: from django.forms.models import inlineformset_factory [as 别名]
def get_formset(self, **kwargs):
        """Returns a BaseInlineFormSet class for use in admin add/change views."""
        if self.exclude is None:
            exclude = []
        else:
            exclude = list(self.exclude)
        exclude.extend(self.get_readonly_fields())
        if self.exclude is None and hasattr(self.form, '_meta') and self.form._meta.exclude:
            # Take the custom ModelForm's Meta.exclude into account only if the
            # InlineModelAdmin doesn't define its own.
            exclude.extend(self.form._meta.exclude)
        # if exclude is an empty list we use None, since that's the actual
        # default
        exclude = exclude or None
        can_delete = self.can_delete and self.has_delete_permission()
        defaults = {
            "form": self.form,
            "formset": self.formset,
            "fk_name": self.fk_name,
            'fields': forms.ALL_FIELDS,
            "exclude": exclude,
            "formfield_callback": self.formfield_for_dbfield,
            "extra": self.extra,
            "max_num": self.max_num,
            "can_delete": can_delete,
        }
        defaults.update(kwargs)

        return inlineformset_factory(self.parent_model, self.model, **defaults) 
开发者ID:stormsha,项目名称:StormOnline,代码行数:31,代码来源:inline.py

示例8: construct_formset

# 需要导入模块: from django.forms import models [as 别名]
# 或者: from django.forms.models import inlineformset_factory [as 别名]
def construct_formset(self):
        """
        Returns an instance of the inline formset
        """
        if not self.inline_model or not self.parent_model:
            msg = "Parent and Inline models are required in {}".format(self.__class__.__name__)
            raise NotModelException(msg)

        return inlineformset_factory(
            self.parent_model,
            self.inline_model,
            **self.get_factory_kwargs()) 
开发者ID:asifpy,项目名称:django-crudbuilder,代码行数:14,代码来源:formset.py

示例9: test_inlineformset_factory_nulls_default_pks

# 需要导入模块: from django.forms import models [as 别名]
# 或者: from django.forms.models import inlineformset_factory [as 别名]
def test_inlineformset_factory_nulls_default_pks(self):
        """
        #24377 - If we're adding a new object, a parent's auto-generated pk
        from the model field default should be ignored as it's regenerated on
        the save request.

        Tests the case where both the parent and child have a UUID primary key.
        """
        FormSet = inlineformset_factory(UUIDPKParent, UUIDPKChild, fields='__all__')
        formset = FormSet()
        self.assertIsNone(formset.forms[0].fields['parent'].initial) 
开发者ID:nesdis,项目名称:djongo,代码行数:13,代码来源:test_uuid.py

示例10: test_inlineformset_factory_ignores_default_pks_on_submit

# 需要导入模块: from django.forms import models [as 别名]
# 或者: from django.forms.models import inlineformset_factory [as 别名]
def test_inlineformset_factory_ignores_default_pks_on_submit(self):
        """
        #24377 - Inlines with a model field default should ignore that default
        value to avoid triggering validation on empty forms.
        """
        FormSet = inlineformset_factory(UUIDPKParent, UUIDPKChild, fields='__all__')
        formset = FormSet({
            'uuidpkchild_set-TOTAL_FORMS': 3,
            'uuidpkchild_set-INITIAL_FORMS': 0,
            'uuidpkchild_set-MAX_NUM_FORMS': '',
            'uuidpkchild_set-0-name': 'Foo',
            'uuidpkchild_set-1-name': '',
            'uuidpkchild_set-2-name': '',
        })
        self.assertTrue(formset.is_valid()) 
开发者ID:nesdis,项目名称:djongo,代码行数:17,代码来源:test_uuid.py

示例11: test_inlineformset_factory_nulls_default_pks_uuid_parent_auto_child

# 需要导入模块: from django.forms import models [as 别名]
# 或者: from django.forms.models import inlineformset_factory [as 别名]
def test_inlineformset_factory_nulls_default_pks_uuid_parent_auto_child(self):
        """
        #24958 - Variant of test_inlineformset_factory_nulls_default_pks for
        the case of a parent object with a UUID primary key and a child object
        with an AutoField primary key.
        """
        FormSet = inlineformset_factory(UUIDPKParent, AutoPKChildOfUUIDPKParent, fields='__all__')
        formset = FormSet()
        self.assertIsNone(formset.forms[0].fields['parent'].initial) 
开发者ID:nesdis,项目名称:djongo,代码行数:11,代码来源:test_uuid.py

示例12: test_inlineformset_factory_nulls_default_pks_auto_parent_uuid_child

# 需要导入模块: from django.forms import models [as 别名]
# 或者: from django.forms.models import inlineformset_factory [as 别名]
def test_inlineformset_factory_nulls_default_pks_auto_parent_uuid_child(self):
        """
        #24958 - Variant of test_inlineformset_factory_nulls_default_pks for
        the case of a parent object with an AutoField primary key and a child
        object with a UUID primary key.
        """
        FormSet = inlineformset_factory(AutoPKParent, UUIDPKChildOfAutoPKParent, fields='__all__')
        formset = FormSet()
        self.assertIsNone(formset.forms[0].fields['parent'].initial) 
开发者ID:nesdis,项目名称:djongo,代码行数:11,代码来源:test_uuid.py

示例13: test_inlineformset_factory_nulls_default_pks_child_editable_pk

# 需要导入模块: from django.forms import models [as 别名]
# 或者: from django.forms.models import inlineformset_factory [as 别名]
def test_inlineformset_factory_nulls_default_pks_child_editable_pk(self):
        """
        #24958 - Variant of test_inlineformset_factory_nulls_default_pks for
        the case of a parent object with a UUID primary key and a child
        object with an editable natural key for a primary key.
        """
        FormSet = inlineformset_factory(UUIDPKParent, ChildWithEditablePK, fields='__all__')
        formset = FormSet()
        self.assertIsNone(formset.forms[0].fields['parent'].initial) 
开发者ID:nesdis,项目名称:djongo,代码行数:11,代码来源:test_uuid.py

示例14: test_add_form_deletion_when_invalid

# 需要导入模块: from django.forms import models [as 别名]
# 或者: from django.forms.models import inlineformset_factory [as 别名]
def test_add_form_deletion_when_invalid(self):
        """
        Make sure that an add form that is filled out, but marked for deletion
        doesn't cause validation errors.
        """
        PoemFormSet = inlineformset_factory(Poet, Poem, can_delete=True, fields="__all__")
        poet = Poet.objects.create(name='test')
        data = {
            'poem_set-TOTAL_FORMS': '1',
            'poem_set-INITIAL_FORMS': '0',
            'poem_set-MAX_NUM_FORMS': '0',
            'poem_set-0-id': '',
            'poem_set-0-poem': '1',
            'poem_set-0-name': 'x' * 1000,
        }
        formset = PoemFormSet(data, instance=poet)
        # Make sure this form doesn't pass validation.
        self.assertIs(formset.is_valid(), False)
        self.assertEqual(Poem.objects.count(), 0)

        # Then make sure that it *does* pass validation and delete the object,
        # even though the data isn't actually valid.
        data['poem_set-0-DELETE'] = 'on'
        formset = PoemFormSet(data, instance=poet)
        self.assertIs(formset.is_valid(), True)
        formset.save()
        self.assertEqual(Poem.objects.count(), 0) 
开发者ID:nesdis,项目名称:djongo,代码行数:29,代码来源:tests.py

示例15: test_change_form_deletion_when_invalid

# 需要导入模块: from django.forms import models [as 别名]
# 或者: from django.forms.models import inlineformset_factory [as 别名]
def test_change_form_deletion_when_invalid(self):
        """
        Make sure that a change form that is filled out, but marked for deletion
        doesn't cause validation errors.
        """
        PoemFormSet = inlineformset_factory(Poet, Poem, can_delete=True, fields="__all__")
        poet = Poet.objects.create(name='test')
        poem = poet.poem_set.create(name='test poem')
        data = {
            'poem_set-TOTAL_FORMS': '1',
            'poem_set-INITIAL_FORMS': '1',
            'poem_set-MAX_NUM_FORMS': '0',
            'poem_set-0-id': str(poem.id),
            'poem_set-0-poem': str(poem.id),
            'poem_set-0-name': 'x' * 1000,
        }
        formset = PoemFormSet(data, instance=poet)
        # Make sure this form doesn't pass validation.
        self.assertIs(formset.is_valid(), False)
        self.assertEqual(Poem.objects.count(), 1)

        # Then make sure that it *does* pass validation and delete the object,
        # even though the data isn't actually valid.
        data['poem_set-0-DELETE'] = 'on'
        formset = PoemFormSet(data, instance=poet)
        self.assertIs(formset.is_valid(), True)
        formset.save()
        self.assertEqual(Poem.objects.count(), 0) 
开发者ID:nesdis,项目名称:djongo,代码行数:30,代码来源:tests.py


注:本文中的django.forms.models.inlineformset_factory方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。