2013-08-22 95 views
0

我有一個模型VideoCategory其是ForeignKeyVideos模型Django的:如何避免表字段的硬編碼值

class VideoCategory(models.Model): 
    name = models.CharField(max_length=100) 
    slug = models.SlugField(max_length=150) 

* 上述模型將具有表,該表是PK一個id字段*

網頁我想顯示僅特定類別的影片之一,說的類別名稱爲「教學視頻」和id是107

然後我做了什麼: 我構建了一個查詢ID的基礎上,如: 我coud已使用的名稱字段,但它不會解決任何問題

Videos.objects.filter(category__id=107)[:1] // 107 is hard coded 

這將打破代碼時表中的編號被更改或刪除(這是相當可能的)。

有沒有辦法解決這個問題?

+0

你是如何確定的類別i'instuctional videos'是107的id?有沒有辦法獲得教學視頻的對象ID? – karthikr

+0

右側數據庫表 – navyad

+0

什麼是用例?我的意思是代碼中的內容讓你請求'Videos.objects.filter(category = 107)'? – karthikr

回答

0

你需要的是關鍵字 「_set」:

VideoCategory.objects.get(name="my_category_name").Videos_set.all()