| 80 | |
| 81 | |
| 82 | class KeyTransform(Transform): |
| 83 | output_field = TextField() |
| 84 | |
| 85 | def __init__(self, key_name, *args, **kwargs): |
| 86 | super().__init__(*args, **kwargs) |
| 87 | self.key_name = key_name |
| 88 | |
| 89 | def as_sql(self, compiler, connection): |
| 90 | lhs, params = compiler.compile(self.lhs) |
| 91 | return "(%s -> %%s)" % lhs, (*params, self.key_name) |
| 92 | |
| 93 | |
| 94 | class KeyTransformFactory: |