我不知道這甚至有可能,任何方式,我現在有事,如下所示:動態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