我在Django中具有以下模型
class Transfer(models.Model):
user = models.ForeignKey(User, on_delete=models.PROTECT, limit_choices_to={'is_accepted':True})
amount = models.IntegerField(default=0)
transfer_date = models.DateTimeField(default=timezone.now)
company = models.ForeignKey(Company, on_delete=models.PROTECT)
我想根据is_accepted字段过滤用户。问题在于,该字段是在名为Employee的模型中声明的,该模型与用户具有一对一的关系。 是否有可能到达Employee字段并以这种方式过滤它们?
答案 0 :(得分:1)
您通常可以定义一个过滤器,例如:
class Transfer(models.Model):
user = models.ForeignKey(
User,
on_delete=models.PROTECT,
limit_choices_to={'employee__is_accepted': True}
)
amount = models.IntegerField(default=0)
transfer_date = models.DateTimeField(default=timezone.now)
company = models.ForeignKey(Company, on_delete=models.PROTECT)