2011-02-15 45 views
0

这里是一个noob问题。django:有多少查询

阅读完文档后,我发现使用外键引用保存模型需要保存被引用对象的模型实例。

a = ModelA.objects.get(pk=1) 
b = ModelB(foreignk = a,.....) 
b.save() 

在这种情况下,实际执行了多少个查询?如果我有参考模型的pk,这是继续进行的正确方法吗?

回答

3

每个ForeignKey字段也会导致一个隐藏字段具有相同的名称,但附加_id。将外国PK派往该领域就足够了。

b = ModelB(...) 
b.foreignk_id = 1 
b.save() 
+0

谢谢你,我需要什么。 – goh 2011-02-16 07:07:44

1

如果您使用的解决方案,你有2个疑问:一个用于评估查询集为MODELA当你把它作为一个参数ModelB,第二,当你调用save()。

使用Ignacios解决方案时,您只有一个保存时。