[英]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.