我有兩個通過Django中的ForeignKey關聯的模型。 (我正在使用Django 1.3)在Admin更改列表視圖中篩選外鍵選擇
Class Person(models.Model):
# some fields here like name, gender, etc...
Class Course(models.Model):
# some fields here
contact = models.ForeignKey(Person, blank=True, null=True)
在課程的admin更改列表視圖中,我希望能夠通過ForeignKey聯繫人篩選課程。在admin.py我得到:
class CourseAdmin(admin.ModelAdmin):
list_filter = ('contact',)
這工作得很好。我可以通過所有可用的聯繫人過濾課程。現在,我只想顯示實際上已附加課程的聯繫人。 我在這裏閱讀,通過創建一個自定義FilterSpec來實現CustomFilters。我不知道這是否是正確的方向,因爲我只需要進一步過濾用於顯示聯繫人選項的查詢集。
在shell我通過這個獲得所需的查詢集:
contacts=Person.objects.filter(course__in=Course.objects.all()).distinct()
我已經讀過,你可以很容易地在1.4實現這一點,但我仍被綁1.3 有人能請點我進入正確方向?謝謝!
這看起來很有希望。謝謝! – Jingo