tri*_*het 14 python django pep8 django-models django-orm
让我们假设有一行代码使用包含很长"查找名称"的Django ORM来执行查询:
QuerySet.filter(myfk__child__onetoone__another__manytomany__relation__monster__relationship__mycustomlookup=':P')
Run Code Online (Sandbox Code Playgroud)
我知道我们可以这样做:
QuerySet.filter(
**{
'myfk__child__onetoone__another'
'__manytomany__relation__monster'
'__relationship__mycustomlookup': ':P'
}
)
Run Code Online (Sandbox Code Playgroud)
但我想知道是否还有另一种,也许更多的pythonic /接受的方式?
也许使用LOOKUP_SEP加入查找名称有点苍白?
from django.db.models.constants import LOOKUP_SEP
lookup = LOOKUP_SEP.join(['myfk', 'child', 'onetoone', 'another', 'manytomany',
'relation', 'monster', 'relationship',
'mycustomlookup'])
QuerySet.filter(**{lookup:':P'})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
849 次 |
| 最近记录: |