2
保存模型时,避免多次查询,让我们假设我有3种型号:一个,乙,Ç,与具有两个一个和外键关系Ç B。 如何在保存C模型时如何避免多个查询?如果我有必要的信息来检索A和B?Django的ORM:与外键关系
目前我的代码是一样的东西:
a = A.objects.get(title='the title', platform='the platform')
b = A.objects.get(id='the id')
C.objects.update_or_create(a=a, b=b, defaults={'c_param_1':'value'})
这吮吸,因为它至少执行3个查询(4如果C对象不存在)。 我想检索a和b在db层...如何使用Django的ORM实现?
我目前试图以这种方式用Q对象:
C.objects.update_or_create(
a=Q(a__title='the title') & Q(a__platform='the platform'),
b=Q(b__id='the id'),
c_param_1='value'
)
,但我得到:
TypeError: int() argument must be a string or a number, not 'Q'
PS:我使用Django 1.7