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是否符合标准。