python - Django Admin - 自定义内联表单

标签 python django forms django-forms django-admin

我正在尝试在 Django 管理中使用自定义内联表单。

admin.py--

class EmpInline(admin.StackedInline):
    model = Emp
    form = UpdateYearlyForm
    show_change_link = True

class CompanyAdmin(admin.ModelAdmin):
    list_display = ('companyname','companyid','get_active', 'get_updated')
    inlines = [EmpInline]

单击公司名称时,将显示公司详细信息以及所有相关员工的表单集。

这适用于显示表单,但是其中一个字段是自定义选择字段,它间接更新了模型字段。其中,在普通用户 View 中(管理员需要为所有记录使用此表单,用户需要为与他们相关的记录使用此表单)自定义字段的处理方式如下。

我只展示了 View 的一个片段,因为它很长。

views.py--

if formset.is_valid():
        for form in formset.forms:
            if form.is_valid():
                obj = form.save(commit=False)
                data = form.cleaned_data
                if data['updatefield'] == 'accident':
                    obj.years += 1
                else data['updatefield'] == 'free':
                    obj.years += 1
                obj.save()

当在管理员中用作内联表单时,是否有一种以相同方式处理表单(和自定义字段)的方法?

最佳答案

如果它对任何人有帮助 - 重写表单本身的 save() 函数可以解决这个问题,这可能是更好的做法,因此我改为在用户和管理员端都使用它。

关于python - Django Admin - 自定义内联表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46201300/

相关文章:

python - 如何找到系列中的异常值,矢量化?

python - 如何访问通过 Cython 传递的 numpy 数组

javascript - django导入错误: No module named tiny-mce

python - Django Forms 默认选择动态循环前面的值

python - 当我通过终端使用 VIM 时,我不断收到重复的文件,并在末尾附加了 ~。这些是什么?

python - Gensim 的 Doc2vec - 推断的向量不相似

python - 我应该使用 Django 项目将静态文件提交到 Git 仓库中吗?

python - Django:使用索引表示法而不是点表示法访问查询集的属性?

javascript - HTML/PHP/JS/MYSQL -- 如何通过表单将相当大的 DIV 内容传递给 MySQL?

php - 验证我的 PHP 表单并提交到数据库