如何在嵌套的foreignKey中查询

时间:2017-01-16 08:44:16

标签: django django-models django-queryset

这个想法非常简单,我必须在我的函数中查询几个模型。为了在我的模板中保持干净,我决定抽象一个包含我的数据的新模型。我正在通过lambda创建模型。

以下是模型。

tr_contact = lambda x: dict(first_name=x.firstname,
                            last_name=x.lastname,
                            owned_place=?)

这是我的lambda来创建我的新对象:

public List<A> method(){
A a=B.method_b();
List<A> list=new ArrayList<>();
for(A aa:a){
A classA=new A();
classA.setVal1(aa.getVal1());
list.add(classA);
}
        return list;
    }

基本上我想为own_place获得的是CRecord中包含的地方。我正在努力的部分是,对于每个联系人,有几个记录,并且在每个记录中,有几个地方。字段owned_place应该等于每个记录中包含的每个位置。

我已经尝试了一些,甚至想知道是否真的可以在一个请求中使用..

1 个答案:

答案 0 :(得分:1)

不要......你在这里做的事基本上是重新创建values或(values_list)。

这里的不同之处在于,您的方法是解决整个查询查找的问题,而查询查询的成本比实际需要的要高,所以要么使用上面的...

 my_records_queryset.values('firstname', 'lastname', 'place')

或者您可能希望查看Django Rest Framework and serializers,这可以让您更好地控制您为关系字段获取的值。