0

全部,

我定义了以下模型,

  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()

在我看来,我有

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

现在数据将保存到标题表中。我的问题是,对于标题表中生成的这个 id,如何将数据保存到标准和选项表中。请让我知道。

谢谢..

4

2 回答 2

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()

希望这可以帮助。

于 2010-03-27T10:23:52.840 回答
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')

还有一些题外话:请从大写字母开始类名,它确实使代码更易于阅读。

于 2010-03-27T10:52:45.790 回答