我有一个这样的场景,我有3个模型:类别,子类别和帖子。
-类别是子类别的一对多,子类别是帖子的一对多。
我的 models.py 看起来像这样(缩小版)。
class Category(models.Model):
cat=models.CharField(max_length=10)
class SubCategory(models.Model):
subcat=models.CharField(max_length=10)
class Posts(models.Model):
cat=models.ForeignKey(Category)
subcat=models.ForeignKey(SubCategory)
title=models.CharField(max_length=10)
我想发布一个来自管理员的帖子,其中我只希望基于从类别中选择的下拉列表来查询子类别。就像,如果我在admin的“添加帖子”部分的下拉列表中选择Django,它应该只给我链接到Django的子类别(或从下拉列表中选择的任何内容)。
我尝试了很多搜索,而我能找到的最好的是 render_change_form 。但是render_change_form的问题是,它需要过滤的条件,我没有该条件,因为我希望从表单本身(基于下拉选择)中选择Category。
我不确定在django中是否有可能。
答案 0 :(得分:1)
您必须编写自己的自定义JavaScript。因此,无论何时选择类别,都会根据一些ajax命中填充子类别下拉列表。
您也可以看看django autocomplete light.
我在项目中使用了很多次。您可以使用正向参数(将类别发送到子类别)来实现您的要求。
希望这会有所帮助。