我正在下订单。在工作订单中,您可以选择要使用的工具集。
class WorkOrder( models.Model ):
job_type_choices = (
( '1', 'Mechanical' ),
( '2', 'Electrical' ),
( '3', 'Instrumentation' ),
)
tools = models.ManyToManyField( Equipment, related_name='tools', blank=True, null=True )
job_type = models.CharField( max_length=45, choices=job_type_choices )
现在,用户可以创建工作单模板。
class WorkOrderTemplate( models.Model ):
job_type_choices = (
( '1', 'Mechanical' ),
( '2', 'Electrical' ),
( '3', 'Instrumentation' ),
)
tools = models.ManyToManyField( Equipment ) #set all the default tools here
job_type = models.CharField( max_length=45, choices=job_type_choices )
每当您更改job_type的值(即下拉列表)时,您将使用您选择的相同job_type加载在工作单模板中选择的所有工具。
我正在使用FilteredMultipleChoice小部件的小部件:
tools = ModelMultipleChoiceField(
queryset=Equipment.objects.all(),
widget=widgets.FilteredSelectMultiple( "Tools", is_stacked=False ),
required=False )
我知道如何覆盖简单textinput的值,但我不知道在这种情况下如何覆盖选定的值。为此,我使用了jquery。
提前致谢:)