Malformed column name returned from select() on modified field.
`pw.fn.ST_AsText(PadsLocations.latlng).alias('latlng')` does return the appropriate result, as a monkey-patch. Peewee relies on the driver to implement the db-api 2.0 spec. Part of this spec is that a cursor, after executing a query, contains a `description` property which tells us about the names of the columns being selected. This is determined by the database and then communicated to the driver. Presumably if you execute such a query in the mysql shell, the result column of such a function will not be "latlng" but something else.

So the correct thing to do, if you want to alias a function call to a given, is to explicitly specify the alias as you have done. Not a bug.

Consider the case where you're grabbing a COUNT() or something. You'd have `fn.COUNT(MyModel.id)` or whatever. You wouldn't want that to default to being the value of "MyModel.id" ... so you explicitly alias it: `fn.COUNT(MyModel.id).alias('count')`.

> as a monkey-patch

look up the definition of monkey-patch, you're using it incorrectly
```
class PointField(pw.Field):
    """Geometry field type Point, conforming to MySQL 8.0+, format is WKT: 'POINT(18 23)'"""

    # Field type in MySQL is Point with a capital P.
    field_type = 'Point'

    def python_value(self, value):
        return value

    def db_value(self, ewkt):
        """Converts EWKT format to MySQL database requirements, e.g., SRID=3857;POINT(10,10)"""

        # Does the ewkt start with "SRID=XXXX;...".
        # If so, remove the value from the geometry and parse/extract the srid
        s = ewkt.split(";")
        if s[0].startswith("SRID="):
            geo = ";".join(s[1:])
            srid = s[0].split("=")[1]
            return pw.fn.ST_GeomFromText(geo, srid)
        else:
            return pw.fn.ST_GeomFromText(ewkt)
```

```
class PadsLocations(AetherDataModel):
    name = pw.CharField(max_length=255, index=True)
    latlng = PointField()
    operator = pw.BooleanField()
    operator_name = pw.CharField(max_length=255, index=True)
```

```
s = PadsLocations.select(PadsLocations.name, pw.fn.ST_AsText(PadsLocations.latlng))
for r in adf.read(s):
    print(r.name, r.latlng)
```

`r.latlng` returns None. This is because the correct value returns with a key of "\`latlng)`".

