小编use*_*156的帖子

Python:如何删除列表列表中的重复列表?

我想从列表列表中删除所有重复列表.

所以我有一个像这样的列表.

a = [[1,2],[1,2],[3,4,5],[3,4,5],[3,4,5]]
Run Code Online (Sandbox Code Playgroud)

我希望有:

b = [[1,2],[3,4,5]]
Run Code Online (Sandbox Code Playgroud)

我不知道该怎么做.

谢谢

python

28
推荐指数
2
解决办法
2万
查看次数

Django:使用小部件来限制ModelForm中的选择

我的模型表单继承自子系统表单.我想限制表单中用户的选择.(特别是名字)我知道我必须使用小部件.但它不起作用.

我必须使用SubsytemForm.

SUBSYSTEM_CHOICES = (a1,a2,a3)
Class Subsystem(models.Model):
name = models.CharField("Name", max_length=20)


class SubsytemForm(forms.ModelForm):   
class Meta:
    model = Subsystem
    widgets = {
        'name': ChoiceField(widget=RadioSelect, choices=SUBSYSTEM_CHOICES)
    }
Run Code Online (Sandbox Code Playgroud)

forms django widget

4
推荐指数
1
解决办法
5464
查看次数

Django:通过以模型形式查询数据库来验证数据(使用自定义清理方法)

我正在尝试创建一个自定义清理方法,如果一个特定数据的值已经存在,则查看数据库,如果是,则会引发错误.我正在使用继承自其他类(项目)的类(子系统)的模型形式.当我尝试在表单中添加新的sybsystem时,我想检查sybsystem是否已经存在.

我在视图函数中获取项目名称.

class SubsytemForm(forms.ModelForm):  

    class Meta:
        model = Subsystem
        exclude = ('project_name')

    def clean(self,project_name):

        cleaned_data = super(SubsytemForm, self).clean(self,project_name)
        form_subsystem_name = cleaned_data.get("subsystem_name")

        Subsystem.objects.filter(project__project_name=project_name)
        subsystem_objects=Subsystem.objects.filter(project__project_name=project_name)
        nb_subsystem = subsystem_objects.count()

        for i in range (nb_subsystem):
            if (subsystem_objects[i].subsystem_name==form_subsystem_name):
                msg = u"Subsystem already existing"
                self._errors["subsystem_name"] = self.error_class([msg])

            # These fields are no longer valid. Remove them from the
            # cleaned data.
            del cleaned_data["subsystem_name"]
        return cleaned_data
Run Code Online (Sandbox Code Playgroud)

我的观点功能:

def addform(request,project_name):
    if form.is_valid(): 
        form=form.save(commit=False)
        form.project_id=Project.objects.get(project_name=project_name).id 
        form.clean(form,project_name)
        form.save()
Run Code Online (Sandbox Code Playgroud)

这不起作用,我不知道该怎么办.我有错误:clean()需要2个参数(给定1个)

我的模特:

class Project(models.Model):
project_name = models.CharField("Project name", max_length=20)

Class Subsystem(models.Model):
subsystem_name …
Run Code Online (Sandbox Code Playgroud)

forms django customization

4
推荐指数
1
解决办法
3760
查看次数

标签 统计

django ×2

forms ×2

customization ×1

python ×1

widget ×1