Django Model Formsets,更改删除选项的位置

wobbily_col

我在Django中有一个ModelFormset。

在模板中,我遍历表单,然后遍历表单中的每个字段(我将其用于两个不同的模型)。

{%for form in formset %}
    <tr class='row{% cycle '2' '1' %}'>

        {% for hiddenfield in form.hidden_fields%}
           {{ hiddenfield }}
        {% endfor %}


        {% for field in form.visible_fields %}
            <td>{{ field.errors}}{{ field }}</td>
        {% endfor %}
        </tr>
{% endfor%}

我已经将can_delete = True添加到formset_factory,现在我在最右边得到了删除复选框。

有什么办法可以把它放在左边,仍然像以前一样遍历其他表单域?当我遍历字段时,有什么方法可以使其成为第一个表单字段?

seddonym

您可以覆盖BaseFormSet的add_fields方法,将delete字段移到最前面,如下所示:

from collections import OrderedDict
from django import forms
from django.forms.formsets import BaseFormSet, formset_factory
from .models import MyModel


class MyModelForm(forms.ModelForm):
    class Meta:
        model = MyModel


class BaseMyModelFormSet(BaseFormSet):

    def add_fields(self, form, index):
        super(BaseMyModelFormSet, self).add_fields(form, index)
        # Pop the delete field out of the OrderedDict
        delete_field = form.fields.pop('DELETE')
        # Add it at the start
        form.fields = OrderedDict(
                      [('DELETE', delete_field)] + form.fields.items())


MyModelFormSet = formset_factory(MyModelForm, BaseMyModelFormSet,
                             extra=2, can_delete=True)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Django管理员删除!= Model.delete()

来自分类Dev

Django:model.objects.create()更改先前的model.objects.filter()的结果集

来自分类Dev

Django model.Model.'instance'引发AttributeError

来自分类Dev

Django在(model→FK→model)关系上的注释

来自分类Dev

Django Model.ObjectDoesNotExist异常

来自分类Dev

django uploading files without model

来自分类Dev

Django Model表单未显示

来自分类Dev

Django Model.ObjectDoesNotExist异常

来自分类Dev

Django的auth_user_model

来自分类Dev

有安全的方法可以安全地删除Django中的Model字段吗?

来自分类Dev

Django Admin使用save_model()对已更改(或保存)的某些字段的值进行加密

来自分类Dev

Django:通过model_set的model_set进行聚合

来自分类Dev

UITableViewCell更改删除行按钮的字体

来自分类常见问题

RecyclerView颜色更改删除错误

来自分类Dev

VIM:更改删除的默认行为

来自分类Dev

Django 1.8 LookupError AUTH_USER_MODEL

来自分类Dev

Django:URL模板标记中的Model参数

来自分类Dev

Django Model IntegrityError:NOT NULL约束失败:

来自分类Dev

Django Model无法自动创建ID

来自分类Dev

Django Model方法变量放入模板

来自分类Dev

save_model中的Django相关对象

来自分类Dev

model.save上的Django Filefield UnicodeDecodeError

来自分类Dev

如何设置Django Model DateField的边界?

来自分类Dev

model_mommy中断django-mptt

来自分类Dev

Django Model无法自动创建ID

来自分类Dev

'ColorField'对象没有属性'model'django

来自分类Dev

ValueError Django model.Manager.get函数

来自分类Dev

纯Python中来自Model的Django Form

来自分类Dev

Django - Filter Model Objects (Posts) Using Form