dan*_*ast 4 django django-models django-forms
我有以下型号:
class SOA(models.Model):
adviser = models.ForeignKey(User)
...
Run Code Online (Sandbox Code Playgroud)
在adviser不能有任何的用户,但它满足某些要求用户(例如,属于某个组的用户).例如,当处理表单时,这是相关的:选择adviser显示系统中的所有用户的下拉列表,但是我想过滤它并且仅显示实际顾问的用户(在这种情况下,定义为属于advisers组)
是否有可能在模型级别处理这种约束?或者也许在填写表单中的选择框时?
您可以使用class的limit_choices_to init参数ForeignKey.例如:
adviser = models.ForeignKey(User, limit_choices_to={'is_staff': True})
Run Code Online (Sandbox Code Playgroud)
对于更复杂的查询,您可以使用Q对象:
..., limit_choices_to=Q(share_holder=True) | Q(distributor=True)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
584 次 |
| 最近记录: |