相关疑难解决方法(0)

Django Admin不保存预先填充的内联字段,这些字段保留在初始状态

我有一些自定义管理代码,它初始化一些内联子对象.

如果用户编辑其中一个内联子对象的默认值,则在保存父对象时会创建该子元素.

我假设Django正在检查值是否已从其initial值更改,并且仅在用户更改了值时才保存.

是这样的吗?

如果用户选择不更改默认值,如何强制Django Admin创建具有未更改的默认值的内联子对象?

class PrepopIpInlineFormSet(forms.models.BaseInlineFormSet):
    model = Ip

    def __init__(self, *args, **kwargs):
        super(PrepopIpInlineFormSet, self).__init__(*args, **kwargs)
        initial = # calculate a set of default Ip model initial values
        self.initial = initial


class PrepopIpInline(admin.options.InlineModelAdmin):
    template = "admin/linked.html"
    model = Ip
    formset = PrepopIpInlineFormSet
    fk_name = 'sim'
    admin_model_path = None
    show_url = True

    def __init__(self, *args):
        super(PrepopIpInline, self).__init__(*args)
        if self.admin_model_path is None:
            self.admin_model_path = self.model.__name__.lower()

    def get_formset(self, request, obj=None, **kwargs):
        formset = super(PrepopIpInline, self).get_formset(request, obj, **kwargs)
        formset.request = …
Run Code Online (Sandbox Code Playgroud)

python django django-admin

3
推荐指数
1
解决办法
1949
查看次数

标签 统计

django ×1

django-admin ×1

python ×1