Django 自引用模型过滤 ForeignKey
假设我在Django中有以下模型:
class Category(models.Model):
parent = models.ForeignKey('self', null=True, blank=True)
有没有办法防止引用同一个类别?因为Django在管理后台生成了一个选择框,我可以选择同一个类别作为父类别。有没有什么方法可以在管理后台过滤这个选择框?
1 个回答
2
使用 ForeignKey.limit_choices_to
- 你可以在这里查看 相关文档
你提供的代码片段不够完整,所以我无法准确判断你具体的情况。不过我猜在 parent
这个外键上,你可能想要限制选择的选项,使用一个 lambda 函数来检查类别的名称是否和引用的名称相同。
在这里你可能需要用到一个 lambda 函数,而不是简单的一个表达式。