我不知道这甚至有可能,任何方式,我现在有事,如下所示:动态FilteredSelectMultiple在Django管理员
class Incidence(models.Model):
...
instalation = models.ForeignKey('Instalation')
machine = models.ManyToManyField('Machine')
...
class Machine(models.Model):
...
instalation = models.ForeignKey('Instalation')
...
所以Machines
属于instalations
和incidences
涉及machines
和incidences
,这个想法是将一个动态的FilteredSelectMultiple
小部件在管理页面中选择与incidence
相关的machines
。管理员目前,有几分像:
class IncidenceMachineForm(forms.ModelForm):
filtered_machine = ModelMultipleChoiceField(
queryset=Machine.objects.order_by('hostname'),
required=False, widget=FilteredSelectMultiple("filtered machine name", is_stacked=False)
)
class Meta:
model = Incidence
,然后将modelAdmin
使用表单IncidenceMachineForm
。这个想法是,当您选择incidence
的instalation
时,只有与instalation
相关的machines
可供选择。我猜这是不可能的:
queryset=Machine.objects.filter(instalation=self.instalation).order_by('hostname'),
任何想法将不胜感激。谢谢!
谢谢!无论如何,我感觉它并不那么容易,我会尝试它! – Daehin