4

如果我有一个Book模型 which foreignkeys Author,我怎么能限制什么 Authors 是有效的外键。例如,如果Author包含一个work_authored字段,我只希望 Books 能够对work_authored字段设置为“books”的作者进行外键输入(与“articles”、“essays”、“plays”等其他值相比)。

我的场景(和 TL;DR):我希望我的记录只能外键其他布尔字段设置为 true 的记录。

我很确定这可以通过 Django 的对象验证来完成,但这并不限制 Django 管理员下拉列表中的值。

4

1 回答 1

5

尝试使用limit_choices_to. 您可以将其设置为

class Book(Model):
    author = ForeignKey(AuthorModel, 
               limit_choices_to = { 'work_authered': 'books'}
              )
于 2013-09-13T08:27:22.923 回答