我希望管理界面仅在我选择' B'时显示disctrict
字段。作为category
。如果我选择' W'我希望显示Offer
模型的所有字段。是否可以在管理页面中显示选定(已过滤)的字段,具体取决于同一模型中其他字段的选择?在此先感谢您的帮助。
我的模特:
class Category(models.Model):
NAME_CHOICES = (
('B', 'BLACK'),
('W', 'WHITE'),
)
name = models.CharField(max_length=200, choices=NAME_CHOICES)
class Meta:
verbose_name_plural = 'Categories'
def __unicode__(self):
return self.get_name_display()
class Offer(models.Model):
category = models.ForeignKey(Category, verbose_name='Kategoria')
city = models.CharField(max_length=128, verbose_name='Miasto')
province = models.CharField(max_length=3)
district = models.CharField(max_length=128, verbose_name='Dzielnica')
def __unicode__(self):
return "Offer number %s" % (self.id)
答案 0 :(得分:1)
首先我要说,django只能以同步的方式工作。因此,如果要选择要使用的输入,则必须发送请求并等待反馈。在我看来,没有正确的方法来正确完成这项任务。
我看到了一些解决方案:
1)你可以使用jQuery。但主要的问题是django有一个自己的管理系统,内置小部件。您可以尝试以两种方式自定义它:
manage.py collectstatic
之后转到admin文件夹并创建自定义jQuery脚本。2)使用ModelChoiceField为您的模型构建自定义管理表单。我不确定这种字段行为对您有帮助,但您可以对此进行调查。
如果我需要执行此任务,我选择使用admin static和custom jQuery的第一种方式。