使用Django過濾器,我有判斷書寫的判斷。該機型是大致爲:如何在Django過濾器中創建循環關係
APP1:models.py:
from app2.models import Judge
class Judgement(model.Models):
judges = models.ManyToManyField(Judge, related_name="judgements")
topic = models.TextField(help_text="The topic the judgement is about."
APP 2:models.py
class Judge(models.Models):
name = CharField(max_length=100)
race = CharField(max_length=5, choices=RACES)
我希望能夠通過一個過濾判決,法官或其他,所以我的過濾器應該是:
class JudgementFilter(filters.FilterSet):
# THIS DOESN'T WORK.
judges = RelatedFilter('JudgeFilter', name='judges')
class JudgeFilter(filters.FilterSet):
judgements = RelatedFilter(JudgementFilter, name='judgements')
如果有效,我可以根據他們所寫的判斷的屬性過濾法官的API(例如:「所有法官正在寫關於種族的判斷)」,或者我可以過濾判斷由他們撰寫的評委過濾(例如,「由黑人法官撰寫的所有判決書」)。
不幸的是,這不起作用,我得到一個關於嘗試導入字符串值而不是其他的錯誤。有沒有辦法做到這一點?
你可以在這裏包含你的錯誤的追溯?另外,這是完整的代碼?另外,什麼是'RelatedFilter'?我無法在django-filter中找到對此的引用。 –
感謝您的幫助,@JoeyWilhelm。我忘了提及這是django-rest-framework-filters,而不是通常的django-filters,但無論如何,我都以最愚蠢的方式計算出它(見下文)。我發了一個PR來調整文檔,以使這個信息在未來更加突出。希望其他人會從中受益。 – mlissner