簡體   English   中英

Django - 將選擇限制為外鍵

[英]Django - limit choices to foreign key

我在 Django 中有以下 model

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 的 model 中聲明的,它與用戶是一對一的關系。 是否有可能以這種方式訪問 Employee 字段並過濾它們?

您通常可以定義一個過濾器,如:

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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM