小编Rud*_*lah的帖子

Django表单验证取决于表单集中的数据

我有以下代码:

from django import forms
from django.core.exceptions import ValidationError

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

    def clean(self):
        cleaned_data = self.cleaned_data
        max_num_items = cleaned_data['max_num_items']
        inline_items = cleaned_data.get('inlineitem_set', [])

        if len(inline_items) < 2:
            raise ValidationError('There must be at least 2 valid inline items')

        if max_num_items > len(inline_items):
            raise ValidationError('The maximum number of items must match the number of inline items there are')

        return cleaned_data
Run Code Online (Sandbox Code Playgroud)

我以为可以从cleaned_data(通过使用cleaned_data['inlineitem_set'])访问表单集,但事实并非如此。

我的问题是:

  1. 如何访问表单集?
  2. 我是否需要使用自定义验证来创建自定义表单集才能正常工作?
  3. 如果需要这样做,如何在其clean方法中访问表单集的“父”形式?

django validation django-forms django-admin

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

ngRepeat:使用$ index跟踪时过滤器无效

这是我的HTML

<body>
<div ng-app="repeatdemo" ng-controller="rd">
<input type="text" ng-model="nameSearch" />
<div ng-repeat="x in names track by $index | filter : nameSearch">
{{x }}
</div>
</div>
Run Code Online (Sandbox Code Playgroud)

这是我的剧本

<script>
var rdapp=angular.module("repeatdemo",[]);
rdapp.controller("rd",function($scope){
$scope.names=['deepu','vicky','hello','hey','vickys'];

});
</script>
Run Code Online (Sandbox Code Playgroud)

当我使用的轨道通过$index in repeat选项时,过滤器不能正常工作,请检查该小提琴和尝试删除track by indexng-repeat

javascript angularjs

3
推荐指数
2
解决办法
2417
查看次数

如何覆盖Magento Core模块?

我想修改管理界面中的Order/Sales表的代码和PDF生成代码,而无需更改目录中的core文件.我该怎么做呢?我明白,我要创建一个使用我想覆盖文件相同的路径一个新的模块,但我不知道还有什么我必须做的......有没有一些特殊的措施,经过对config.xml的模块?

overriding module interface admin magento

2
推荐指数
1
解决办法
3686
查看次数

Magento类别页面:将特定类别的布局从网格模式更改为列表模式

我希望某些类别页面处于列表模式并从显示的30个项目开始但我希望另一个类别页面处于网格模式并且显示的项目更少.

我知道我可以通过管理面板更新自定义布局xml来实现这一点,但我不确定确切的XML是什么.

xml layout magento

2
推荐指数
1
解决办法
5909
查看次数

ES6/ECMAScript6解构是否会创建新变量?

如您所知,我们使用解构来使用ES6对象中的值.我想知道它的深度.

当我写下面的代码时:

let (or const) { firstVar, secondVar } = this.props
Run Code Online (Sandbox Code Playgroud)

它是在内存中分配新空间还是像指针一样使用这些值?

在过去,我写的时候

let { options } = this.props
options.splice(0,20)
Run Code Online (Sandbox Code Playgroud)

我注意到,虽然我的编译器在不同的情况下有像'props is readonly'这样的错误,但是道具中的变量已经改变了.怎么可能呢?

javascript ecmascript-6

2
推荐指数
1
解决办法
1849
查看次数