限制模型选择以自我参考

时间:2015-11-30 23:56:13

标签: django

我有一个对自身有递归引用的模型。

class TableView1: UITableViewController {

override func viewDidLoad() {
    super.viewDidLoad()
           print("A")     // nothing gets printed
}
      // table view functions:
      // func numberOfSectionsInTableView
     //  func tableView (return cell)
     //  func tableView (return .count)...
}

有没有办法可以将父选项限制为属于同一报告的部分?

2 个答案:

答案 0 :(得分:0)

您应该可以在ModelForm中执行此操作,但我尚未测试此代码。

class SectionForm(forms.ModelForm):
    class Meta:
        model = Section

    def __init__(self, *args, **kwargs):
        super(Section, self).__init__(*args, **kwargs)
        if self.instance:
            self.fields['parent'].queryset = self._meta.model.objects.filter(
                report=self.instance.report)

答案 1 :(得分:0)

使用自定义验证器怎么样?

检查新的pk是否属于您需要的子集,否则请引发ValidationError