django-select2/tests/testapp/forms.py

80 lines
2 KiB
Python
Raw Normal View History

2015-03-03 09:01:51 +00:00
# -*- coding:utf-8 -*-
from __future__ import absolute_import, unicode_literals
from django import forms
2015-08-06 09:58:27 +00:00
from django_select2.forms import (
HeavySelect2MultipleWidget, HeavySelect2Widget, Select2MultipleWidget,
2015-09-06 03:23:24 +00:00
Select2Widget,
ModelSelect2MultipleWidget, ModelSelect2Widget)
2015-03-03 09:01:51 +00:00
from tests.testapp import models
class GenreModelForm(forms.ModelForm):
class Meta:
model = models.Genre
fields = (
'title',
)
class GenreForm(forms.Form):
title = forms.CharField(max_length=50)
class ArtistModelForm(forms.ModelForm):
test = forms.BooleanField('asdf')
2015-08-06 09:58:27 +00:00
2015-03-03 09:01:51 +00:00
class Meta:
model = models.Artist
fields = (
'title',
'genres',
)
widgets = {
'genres': Select2MultipleWidget
}
class ArtistForm(forms.Form):
title = forms.CharField(max_length=50)
2015-09-06 03:23:24 +00:00
genres = forms.ModelMultipleChoiceField(widget=ModelSelect2MultipleWidget(
2015-08-06 09:58:27 +00:00
queryset=models.Genre.objects.all(),
2015-09-06 03:23:24 +00:00
search_fields=['title__icontains'],
2015-08-06 09:58:27 +00:00
), queryset=models.Genre.objects.all())
2015-03-03 09:01:51 +00:00
class AlbumModelForm(forms.ModelForm):
class Meta:
model = models.Album
fields = (
'title',
'artist',
)
class AlbumForm(forms.Form):
title = forms.CharField(max_length=255)
2015-09-06 03:23:24 +00:00
artist = forms.ModelChoiceField(widget=ModelSelect2Widget(
2015-08-06 09:58:27 +00:00
model=models.Artist,
2015-09-06 03:23:24 +00:00
search_fields=['title__icontains']
2015-08-06 09:58:27 +00:00
), queryset=models.Artist.objects.all())
class Select2WidgetForm(forms.Form):
2015-08-06 09:58:27 +00:00
NUMBER_CHOICES = [
(1, 'One'),
(2, 'Two'),
(3, 'Three'),
(4, 'Four'),
]
number = forms.ChoiceField(widget=Select2Widget(), choices=NUMBER_CHOICES)
class HeavySelect2WidgetForm(forms.Form):
heavy_number = forms.ChoiceField(widget=HeavySelect2Widget(data_view='heavy_data'))
class HeavySelect2MultipleWidgetForm(forms.Form):
heavy_number = forms.MultipleChoiceField(widget=HeavySelect2MultipleWidget(data_view='heavy_data'))