2010-03-27 56 views
0

所有,Django的外鍵的問題

我已經定義了下面的模型,

class header(models.Model): 
    title = models.CharField(max_length = 255) 
    created_by = models.CharField(max_length = 255) 

    def __unicode__(self): 
     return self.id() 

class criteria(models.Model): 
    details = models.CharField(max_length = 255) 
    headerid = models.ForeignKey(header) 

    def __unicode__(self): 
     return self.id() 

class options(models.Model): 
    opt_details = models.CharField(max_length = 255) 
    headerid = models.ForeignKey(header) 

    def __unicode__(self): 
     return self.id() 

,在我VIEWS我有

  p= header(title=name,created_by=id) 
      p.save() 

現在的數據將被保存到標題表。我的問題是,這個ID在標題表中生成如何將數據保存到條件和選項表..請讓我知道..

謝謝..

+2

請爲類使用UpperCase名稱。 – 2010-03-27 13:31:06

回答

3

鑑於你:

p= header(title=name,created_by=id) 
p.save() 

現在,您可以:

c=criteria(details='some details', headerid=p) 
c.save() 
o=options(opt_details='more details', headerid=p) 
o.save() 

希望這有助於。

1

利用<related>_set查詢管理器,它比在單獨的操作中構建和保存對象更清晰和更短。

h = header.objects.create(title=name,created_by=id) 
c = h.criteria_set.create(details='some details') 
o = h.options_set.create(opt_details='more details') 

和一些offtopic:請,請從大寫字母類名,這真的讓代碼更易於閱讀。