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


Python orm.model_form函数代码示例

本文整理汇总了Python中wtfpeewee.orm.model_form函数的典型用法代码示例。如果您正苦于以下问题:Python model_form函数的具体用法?Python model_form怎么用?Python model_form使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


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

示例1: get_form

def get_form(
    model,
    converter,
    base_class=form.BaseForm,
    only=None,
    exclude=None,
    field_args=None,
    allow_pk=False,
    extra_fields=None,
):
    """
        Create form from peewee model and contribute extra fields, if necessary
    """
    result = model_form(
        model,
        base_class=base_class,
        only=only,
        exclude=exclude,
        field_args=field_args,
        allow_pk=allow_pk,
        converter=converter,
    )

    if extra_fields:
        for name, field in iteritems(extra_fields):
            setattr(result, name, form.recreate_field(field))

    return result
开发者ID:jurampark,项目名称:flask-admin,代码行数:28,代码来源:form.py

示例2: __new__

 def __new__(mcs, name, bases, params):
     """ Prepare handler params. """
     model = params.get('model')
     params.setdefault('name', model and model._meta.db_table.lower() or name.lower())
     cls = super(PWRESTHandlerMeta, mcs).__new__(mcs, name, bases, params)
     if not cls.form and cls.model and model_form:
         cls.form = model_form(cls.model, base_class=Form, **cls.form_meta)
     return cls
开发者ID:lowks,项目名称:muffin-rest,代码行数:8,代码来源:peewee.py

示例3: get_context

	def get_context(self):
		form_cls = model_form(User, exclude=('password_hash'))
		
		if request.method == 'POST':
			form = form_cls(request.form)
		else:
			form = form_cls(obj=current_user)
		return form
开发者ID:Michael-Jalloh,项目名称:atom,代码行数:8,代码来源:profile.py

示例4: test_defaults

    def test_defaults(self):
        BlogFormDef = model_form(Blog, field_args={'title': {'default': 'hello world'}})

        form = BlogFormDef()
        self.assertEqual(form.data, {'title': 'hello world'})

        form = BlogFormDef(obj=self.blog_a)
        self.assertEqual(form.data, {'title': 'a'})
开发者ID:daqing15,项目名称:wtf-peewee,代码行数:8,代码来源:tests.py

示例5: get_form

 def get_form(self, adding=False):
     allow_pk = adding and not self.model._meta.auto_increment
     return model_form(self.model,
         allow_pk=allow_pk,
         only=self.fields,
         exclude=self.exclude,
         converter=self.form_converter(self),
     )
开发者ID:ccp0101,项目名称:flask-peewee,代码行数:8,代码来源:admin.py

示例6: contribute_inline

def contribute_inline(model, form_class, inline_models):
    # Contribute columns
    for p in inline_models:
        # Figure out settings
        if isinstance(p, tuple):
            info = InlineFormAdmin(p[0], **p[1])
        elif isinstance(p, InlineFormAdmin):
            info = p
        elif isinstance(p, BaseModel):
            info = InlineFormAdmin(p)
        else:
            raise Exception('Unknown inline model admin: %s' % repr(p))

        # Find property from target model to current model
        reverse_field = None

        for field in info.model._meta.get_fields():
            field_type = type(field)

            if field_type == ForeignKeyField:
                if field.to == model:
                    reverse_field = field
                    break
        else:
            raise Exception('Cannot find reverse relation for model %s' % info.model)

        # Remove reverse property from the list
        ignore = [reverse_field.name]

        if info.excluded_form_columns:
            exclude = ignore + info.excluded_form_columns
        else:
            exclude = ignore

        # Create field
        converter = CustomModelConverter()
        child_form = model_form(info.model,
                            base_class=form.BaseForm,
                            only=info.form_columns,
                            exclude=exclude,
                            field_args=info.form_args,
                            allow_pk=True,
                            converter=converter)

        prop_name = 'fa_%s' % model.__name__

        setattr(form_class,
                prop_name,
                InlineModelFormList(child_form,
                                    info.model,
                                    reverse_field.name,
                                    label=info.model.__name__))

        setattr(field.to,
                prop_name,
                property(lambda self: self.id))

    return form_class
开发者ID:Deepwalker,项目名称:flask-admin,代码行数:58,代码来源:form.py

示例7: login

def login():
    next_url = request.args.get('next') or request.form.get('next')
    LoginForm = model_form(User, exclude=('join_date',))
    form = LoginForm()
    if request.method == 'POST' and request.form['username']:
        try:
            user = User.get(
                username=request.form['username'],
                password=md5((request.form['password']).encode('utf-8')).hexdigest())
        except User.DoesNotExist:
            errors = "Неверное имя пользователя или пароль. Повторите попытку"
            return render_template('acc/login.html', form=form, next=next_url, error_message=errors)
        else:
            auth_user(user)
            return redirect(next_url) # or url_for('group.groups_list'))
    LoginForm = model_form(User, exclude=('join_date',))
    form = LoginForm()
    return render_template('acc/login.html', form=form, next=next_url)
开发者ID:paskalkris,项目名称:TestStuds_Flask,代码行数:18,代码来源:views.py

示例8: test_duplicate_validators

    def test_duplicate_validators(self):
        ''' Test whether validators are duplicated when forms share field_args
        '''
        shared_field_args = {'id': {'validators': [Regexp('test')]}}

        ValueIncludedForm = model_form(NonIntPKModel,
                                       field_args=shared_field_args,
                                       allow_pk=True)
        ValueExcludedForm = model_form(NonIntPKModel,
                                       field_args=shared_field_args,
                                       allow_pk=True,
                                       exclude=['value'])

        value_included_form = ValueIncludedForm()
        self.assertEqual(len(value_included_form.id.validators), 2)

        value_excluded_form = ValueExcludedForm()
        self.assertEqual(len(value_excluded_form.id.validators), 2)
开发者ID:Hellrungj,项目名称:flask-security-admin-example,代码行数:18,代码来源:tests.py

示例9: stud_delete

def stud_delete(stud_id, group_id):
    stud = get_object_or_404(Stud, Stud.id == stud_id)
    try:
        stud.delete_instance()
        return redirect(url_for('group.studs_list', 
                        group_id=group_id))
    except Exception as e:
        StudForm = model_form(Stud)
        form = StudForm(obj=stud)
        return render_template('students/stud_form.html', 
                     form=form, stud=stud, error_message=e)
开发者ID:paskalkris,项目名称:TestStuds_Flask,代码行数:11,代码来源:views.py

示例10: group_create

def group_create():
    GroupForm = model_form(Group)
    group = Group()
    if request.method == 'POST':
        form = GroupForm(request.form, obj=group)
        if form.validate():
            form.populate_obj(group)
            group.save()
            return redirect(url_for('group.groups_list'))
    else:
        form = GroupForm(obj=group)
    return render_template('groups/group_form.html', form=form)
开发者ID:paskalkris,项目名称:TestStuds_Flask,代码行数:12,代码来源:views.py

示例11: scaffold_form

    def scaffold_form(self):
        form_class = model_form(self.model,
                        base_class=form.BaseForm,
                        only=self.form_columns,
                        exclude=self.excluded_form_columns,
                        field_args=self.form_args,
                        converter=CustomModelConverter())

        if self.inline_models:
            form_class = contribute_inline(self.model, form_class, self.inline_models)

        return form_class
开发者ID:Deepwalker,项目名称:flask-admin,代码行数:12,代码来源:view.py

示例12: contribute

    def contribute(self, converter, model, form_class, inline_model):
        # Find property from target model to current model
        reverse_field = None

        info = self.get_info(inline_model)

        for field in info.model._meta.get_fields():
            field_type = type(field)

            if field_type == ForeignKeyField:
                if field.rel_model == model:
                    reverse_field = field
                    break
        else:
            raise Exception('Cannot find reverse relation for model %s' % info.model)

        # Remove reverse property from the list
        ignore = [reverse_field.name]

        if info.form_excluded_columns:
            exclude = ignore + info.form_excluded_columns
        else:
            exclude = ignore

        # Create field
        child_form = info.get_form()

        if child_form is None:
            child_form = model_form(info.model,
                                    base_class=form.BaseForm,
                                    only=info.form_columns,
                                    exclude=exclude,
                                    field_args=info.form_args,
                                    allow_pk=True,
                                    converter=converter)

        prop_name = 'fa_%s' % model.__name__

        label = self.get_label(info, prop_name)

        setattr(form_class,
                prop_name,
                self.inline_field_list_type(child_form,
                                            info.model,
                                            reverse_field.name,
                                            info,
                                            label=label or info.model.__name__))

        setattr(field.rel_model,
                prop_name,
                property(lambda self: self.id))

        return form_class
开发者ID:marcosptf,项目名称:fedora,代码行数:53,代码来源:form.py

示例13: scaffold_form

    def scaffold_form(self):
        form_class = model_form(self.model,
                        base_class=form.BaseForm,
                        only=self.form_columns,
                        exclude=self.form_excluded_columns,
                        field_args=self.form_args,
                        converter=self.model_form_converter())

        if self.inline_models:
            form_class = self.scaffold_inline_form_models(form_class)

        return form_class
开发者ID:mostafar,项目名称:flask-admin,代码行数:12,代码来源:view.py

示例14: group_edit

def group_edit(group_id):
    GroupForm = model_form(Group)
    group = get_object_or_404(Group, Group.id == group_id)
    if request.method == 'POST':
        form = GroupForm(request.form, obj=group)
        if form.validate():
            form.populate_obj(group)
            group.save()
            return redirect(url_for('group.groups_list'))
    else:
        form = GroupForm(obj=group)
        form.starosta.query = Stud.filter(cgroup=group)
    return render_template('groups/group_form.html', form=form, group=group)
开发者ID:paskalkris,项目名称:TestStuds_Flask,代码行数:13,代码来源:views.py

示例15: stud_edit

def stud_edit(stud_id, group_id):
    StudForm = model_form(Stud, field_args={'dbirthday': dict(format='%d.%m.%Y')})
    stud = get_object_or_404(Stud, Stud.id == stud_id)
    if request.method == 'POST':
        form = StudForm(request.form, obj=stud)
        if form.validate():
            form.populate_obj(stud)
            stud.save()
            return redirect(url_for('group.studs_list', 
                                    group_id=group_id))
    else:
        form = StudForm(obj=stud)
    return render_template('students/stud_form.html', 
                           form=form, stud=stud, group_id=group_id)
开发者ID:paskalkris,项目名称:TestStuds_Flask,代码行数:14,代码来源:views.py


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