Django ModelForm

时间:2012-01-02 06:23:44

标签: python django django-forms

我想同时添加多个video_id(视频链接),标题和类别相同,这是我的表单代码请帮忙

class AddVideoViaLinkForm(forms.ModelForm):
    title = forms.CharField(required=True,min_length=1,max_length=200)
    video_id = forms.CharField(required=True,min_length=1,max_length=20)
    category = forms.CharField(required=True,min_length=1,max_length=20)
    description = forms.CharField(required=True,min_length=1,max_length=20)

    def clean_title(self):
      title = self.cleaned_data.get('title')
        if title.strip()=='':
          raise  forms.ValidationError('Enter a Valid Title')
        else:
            return title    
    def clean_description(self):
        description = self.cleaned_data.get('description')
        if description.strip()=='':
          raise  forms.ValidationError('Enter a Valid Description')
        else:
            return description    

class Meta:
    model = Videos
        fields = ('title','video_id','category','description')

1 个答案:

答案 0 :(得分:0)

首先,Meta应该属于AddVideoViaLinkForm。在这个类中,您可以添加保存功能,它将为您执行此操作:

def save(self):
    ids = self.cleaned_data['video_id'].split(",")# it depends what is your id separator
    title = self.cleaned_data['title']
    for id in ids:
        Videos.objects.create(video_id=id, title=title, ...)