mirror of
https://github.com/Hopiu/django-select2.git
synced 2026-03-25 17:40:22 +00:00
42 lines
1.2 KiB
Python
42 lines
1.2 KiB
Python
from django import forms
|
|
|
|
from django_select2 import *
|
|
|
|
from .models import Employee, Dept, ClassRoom, Lab
|
|
|
|
class EmployeeChoices(AutoModelSelect2Field):
|
|
queryset = Employee.objects
|
|
search_fields = ['name__icontains', ]
|
|
|
|
class ClassRoomChoices(AutoModelSelect2MultipleField):
|
|
queryset = ClassRoom.objects
|
|
search_fields = ['number__icontains', ]
|
|
|
|
class ClassRoomSingleChoices(AutoModelSelect2Field):
|
|
queryset = ClassRoom.objects
|
|
search_fields = ['number__icontains', ]
|
|
|
|
class EmployeeForm(forms.ModelForm):
|
|
manager = EmployeeChoices(required=False)
|
|
dept = ModelSelect2Field(queryset=Dept.objects)
|
|
|
|
class Meta:
|
|
model = Employee
|
|
|
|
class DeptForm(forms.ModelForm):
|
|
allotted_rooms = ClassRoomChoices()
|
|
allotted_labs = ModelSelect2MultipleField(queryset=Lab.objects, required=False)
|
|
|
|
class Meta:
|
|
model = Dept
|
|
|
|
class MixedForm(forms.Form):
|
|
emp1 = EmployeeChoices()
|
|
rooms1 = ClassRoomChoices()
|
|
emp2 = EmployeeChoices()
|
|
rooms2 = ClassRoomChoices()
|
|
rooms3 = ClassRoomSingleChoices()
|
|
|
|
# These are just for testing Auto registration of fields
|
|
EmployeeChoices() # Should already be registered
|
|
EmployeeChoices(auto_id="EmployeeChoices_CustomAutoId") # Should get registered
|