2013-06-22 40 views
0

道歉,如果這是一個非常愚蠢的問題...Django的管理器外鍵的創建功能

說我有一個模型,經理,這樣,

class TestModel_1Manager (models.Manager): 
    def create (self, tk) 
     m = self.model(test_key=tk) 

class TestModel_1 (models.Model): 
    test_key = models.ForeignKey ('TestModel_2') 
    objects = TestModel_1Manager 

幾個問題:

  1. 這是對的嗎?

  2. 如果這是正確的,那麼models.ForeignKey字段不需要 一個對象?只是一個簡單的ID整數是好的?也就是說,我不需要 這樣做:m = self.model(test_key=TestModel_1.objects.get(id=tk))或東西 那樣?

也許我不太清楚這個models.ForeignKey實際上是...一個整數還是一些對象引用?

謝謝!

編輯:剛剛發現這個帖子Django: Set foreign key using integer?,不知道它是否有關?

回答

1

ForeignKey是一種抽象。 該字段的值是另一個對象,但它代表in the table作爲該對象的PK的值。

+0

那麼......哪一個是對的? 'm = self.model(test_key = tk)'是這樣嗎?或'm = self.model(test_key = TestModel_1.objects.get(id = tk))'? – reedvoid

+0

'm = self.model(test_key_id = tk)' –