Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django将foreignkey限制为满足特定条件的记录_Django_Django Models_Django Admin_Foreign Keys_Django Orm - Fatal编程技术网

Django将foreignkey限制为满足特定条件的记录

Django将foreignkey限制为满足特定条件的记录,django,django-models,django-admin,foreign-keys,django-orm,Django,Django Models,Django Admin,Foreign Keys,Django Orm,如果我有一本书模型,该模型包含外国密钥作者,我如何限制哪些作者是有效的外国密钥。例如,如果Author包含一个work\u authored字段,我只希望书籍能够将其work\u authored字段设置为“Books”(如“articles”、“散文”、“plays”等其他值) 我的场景(和TL;DR):我希望我的记录只能为布尔字段设置为true的其他记录设置外键 我很确定这可以通过Django实现,但这并不限制Django管理员下拉列表中的值。尝试使用。您可以将其设置为 class Book

如果我有一本<代码>书模型,该模型包含外国密钥<代码>作者,我如何限制哪些作者是有效的外国密钥。例如,如果
Author
包含一个
work\u authored
字段,我只希望书籍能够将其
work\u authored
字段设置为“Books”(如“articles”、“散文”、“plays”等其他值)

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

我很确定这可以通过Django实现,但这并不限制Django管理员下拉列表中的值。

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

class Book(Model):
    author = ForeignKey(AuthorModel, 
               limit_choices_to = { 'work_authered': 'books'}
              )

谢谢我进行了测试,这也验证了ForeignKey是否符合标准。