繁体   English   中英

如何在Django Admin中过滤外键字段的查询集

[英]How to filter queryset of a foreignkey field in Django Admin

我有一个这样的场景,我有3个模型:Category,Subcategory和Posts。

-类别对子类别是一对多,而帖子对子类别是一对多。

我的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中是否有可能。

您必须编写自己的自定义JavaScript。 因此,无论何时选择类别,都会基于一些ajax命中填充子类别下拉列表。

您还可以查看Django自动填充指示灯。

我在项目中使用了很多次。 您可以使用正向参数(将类别发送到子类别)来实现您的要求。

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM