Django: доступ к пользовательским полям из фильтра в ForeignKey
Я хочу заполнить поле выбора пользователями, которые не являются сотрудниками. Я использую расширенный пользовательский класс (с OneToOneField, как упомянуто в документации Django):
class Usuario(models.Model):
user = models.OneToOneField (User)
departamento = models.ForeignKey(Departamento, null=True)
Затем,
class Proyecto(models.Model):
ip = models.ForeignKey(Usuario, limit_choices_to = {'user.is_staff__exact': False }, related_name='pr_ip') # not working!
jp = models.ForeignKey(Usuario, limit_choices_to = {'departamento__isnull': False }, related_name='pr_jp') # works!
Проблема в том, что я не могу использовать поле user.is_staff для фильтрации. Любая идея о том, как это исправить или как это сделать?
1 ответ
Решение
Вместо этого используйте двойное подчеркивание:
'user__is_staff__exact': False