有没有更好的方法来生成此查找列表并展平QuerySet?

时间:2012-06-14 21:53:44

标签: python django

我对生成查询集样式查找列表感到好奇,这就是我想到的。有更好的方法吗?

["%s__%s" % (f.name, b.name) \
     for f in Foo._meta._fields() \
     if isinstance(f, django.db.models.fields.related.ForeignKey)\
     for b in f.related.parent_model._meta._fields()]

在实践中我会做这样的事情,

fields = ["%s__%s" % (f.name, b.name) \
     for f in Foo._meta._fields() \
     if isinstance(f, django.db.models.fields.related.ForeignKey)\
     for b in f.related.parent_model._meta._fields()]

 return Foo.values_list(*fields)

这将返回我的数据库的非规范化集合。我认为必须有一个更好的方法。不使用_meta_fields属性的内容。或者仅仅是QuerySet对象的一部分,它将执行此操作。我找不到它。

我确实找到了django-composition,但不确定它仅从README文件中做了什么。

0 个答案:

没有答案