def _generate_conditions(self,
filters: Generator[Tuple[str, RawSQLFilter], None, None]) -> Generator[str, None, None]:
"""
Returns generator, yields raw-sql conditions strings
E.g. 'field_name >= %s`
:param filters: Generator with filter's name and `RawSQLFilter` instance
"""
for name, filter_ in filters:
conds_and_values = self._request_filters.get(name)
if conds_and_values:
for condition, value in conds_and_values:
try:
sql = filter_.filter(name, condition, value)
except ValidationError as e:
raise ValidationError('Exception raised for {}: {}'.format(name, e))
yield sql
elif filter_.default is not None:
self.params = filter_.default
yield "{} = %s".format(name)
rest_framework.py 文件源码
python
阅读 30
收藏 0
点赞 0
评论 0
评论列表
文章目录