【发布时间】:2011-11-23 14:36:27
【问题描述】:
我不知道这是否可能,无论如何,我目前有以下内容:
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小部件来选择与machines相关的incidence在管理页面中。管理员目前是这样的:
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'),
任何想法都将受到高度赞赏。谢谢!
【问题讨论】:
标签: django django-models django-admin