googleapis / googleapis/google-cloud-python

Type Mismatch DocumentSnapshot of AsyncCollectionReference

未关闭
#15,367 2 条评论 0 个 reaction 已指派 1 人 已指派给 @daniel-sanche 在 GitHub 查看
api: firestore priority: p3
主要语言
Python
星标
5.4k
派生
1.8k
平均合并
3 天 4 小时
30 天内合并 PR
122

描述

#### Environment details

- OS type and version: MacOS Sequoia 15.6
- Python version: 3.13.5
- pip version 25.1.1
- `google-cloud-firestore` version: 2.21.0

#### Description
There's a type inconsistency between the IDE's type hints and the actual returned types when working with Firestore's AsyncClient.

#### Steps to reproduce

1. Initialize async client
2. Make a query on a collection
3. fetch query data using `await query.get()`
4. the IDE suggest the return type of `google.cloud.firestore_v1.query_results.QueryResultsList[DocumentSnapshot]`
5. call `.reference` on any object of the query, the IDE will suggest that the return type would be `google.cloud.firestore_v1.base_document.DocumentSnapshot`
6. in reality the document returned is `google.cloud.firestore_v1.async_document.AsyncDocumentReference`

#### Code example

```python
import firebase_admin
firebase_admin.initialize_app()
aclient = firestore_async.firestore.AsyncClient(database="(default)")
users = await aclient.collection("users").get()
print(type(users[0]))
#
print(type(users[0].reference)) # Mismatch between type hint and actual type. see the references
#
```
##### references
https://github.com/googleapis/python-firestore/blob/49836391dc712bd482781a26ccd3c8a8408c473b/google/cloud/firestore_v1/async_collection.py#L199-L244
https://github.com/googleapis/python-firestore/blob/49836391dc712bd482781a26ccd3c8a8408c473b/google/cloud/firestore_v1/async_collection.py#L72-L78
https://github.com/googleapis/python-firestore/blob/49836391dc712bd482781a26ccd3c8a8408c473b/google/cloud/firestore_v1/async_collection.py#L199-L244
https://github.com/googleapis/python-firestore/blob/49836391dc712bd482781a26ccd3c8a8408c473b/google/cloud/firestore_v1/async_query.py#L189-L263
https://github.com/googleapis/python-firestore/blob/49836391dc712bd482781a26ccd3c8a8408c473b/google/cloud/firestore_v1/base_document.py#L441-L449
https://github.com/googleapis/python-firestore/blob/49836391dc712bd482781a26ccd3c8a8408c473b/google/cloud/firestore_v1/async_collection.py#L246-L254

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。