1

我很好奇生成查询集样式查找列表,这就是我想出的。有一个更好的方法吗?

["%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)

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

我确实找到了django-composition,但不确定它仅从 README 文件中的作用。

4

0 回答 0