Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class BookNameForm(forms.ModelForm):
- class Meta:
- model = BookName
- widgets = {
- 'title': forms.TextInput(attrs={'class': 'custom-input-225x31'}),
- 'origin': forms.Textarea(attrs={'class': 'custom-textarea-335x100'}),
- 'childhood': forms.Textarea(attrs={'class': 'custom-textarea-335x100'}),
- 'nature': forms.Textarea(attrs={'class': 'custom-textarea-335x100'}),
- 'emotion': forms.Textarea(attrs={'class': 'custom-textarea-335x100'}),
- 'health': forms.Textarea(attrs={'class': 'custom-textarea-335x100'}),
- 'appearance': forms.Textarea(attrs={'class': 'custom-textarea-335x100'}),
- 'career': forms.Textarea(attrs={'class': 'custom-textarea-335x100'}),
- 'love': forms.Textarea(attrs={'class': 'custom-textarea-335x100'}),
- 'male_middlename1': forms.TextInput(attrs={'class': 'custom-input-225x31'}),
- 'male_middlename2': forms.TextInput(attrs={'class': 'custom-input-225x31'}),
- 'female_middlename1': forms.TextInput(attrs={'class': 'custom-input-225x31'}),
- 'female_middlename2': forms.TextInput(attrs={'class': 'custom-input-225x31'}),
- 'good_combination': forms.TextInput(attrs={'class': 'custom-input-225x31'}),
- 'bad_combination': forms.TextInput(attrs={'class': 'custom-input-225x31'}),
- 'derivatives': forms.Textarea(attrs={'class': 'custom-textarea-335x100'}),
- 'good_union': forms.Textarea(attrs={'class': 'custom-textarea-335x100'}),
- 'bad_union': forms.Textarea(attrs={'class': 'custom-textarea-335x100'}),
- 'passion': forms.Textarea(attrs={'class': 'custom-textarea-335x100'}),
- 'zodiak': forms.TextInput(attrs={'class': 'custom-input-225x31'}),
- 'celestial_body': forms.TextInput(attrs={'class': 'custom-input-225x31'}),
- 'color': forms.TextInput(attrs={'class': 'custom-input-225x31'}),
- 'talisman': forms.TextInput(attrs={'class': 'custom-input-225x31'}),
- 'totem_plant': forms.TextInput(attrs={'class': 'custom-input-225x31'}),
- 'totem_thing': forms.TextInput(attrs={'class': 'custom-input-225x31'}),
- 'additional': forms.Textarea(attrs={'class': 'custom-textarea-335x100'}),
- 'celebrities': forms.Textarea(attrs={'class': 'custom-textarea-335x100'}),
- 'meta': forms.Textarea(attrs={'class': 'custom-textarea-335x100'}),
- }
- exclude=('days', 'attrs', 'date_added', 'added_by', 'tags')
- def __init__(self, xs=[], *args, **kwargs):
- self.xs = xs
- self.base_fields = {}
- for x in self.xs:
- self.base_fields['day%s'%x] = forms.CharField(required=False)
- if 'files' in kwargs:
- kwargs.pop('files')
- super(BookNameForm, self).__init__(*args, **kwargs)
- self.fields['days'] = ListField()
- self.fields['tags'] = TagField(label=_("Tags"), required=False,
- widget=forms.TextInput(attrs={'class': 'custom-input-330x31'})
- )
- def clean_days(self):
- value = self.cleaned_data['days']
- return Day.objects.filter(id__in=value)
- def save(self, *args, **kwargs):
- instance = super(BookNameForm, self).save(*args, **kwargs)
- instance.save()
- days = self.cleaned_data.get('days', [])
- if days:
- for d in days:
- instance.days.add(d)
- return instance
Add Comment
Please, Sign In to add comment