Geben Sie modellbezogene Felder für die Auswahl mit nur Funktion an
Posted: 03 Mar 2025, 00:36
Ist es möglich, verwandte Modellfelder für die Auswahl mit nur () Funktion in der Abfrage?
mit prefetch_related () gleichen Fehler erhalten. Und versuchte
Code: Select all
from typing import Optional, List
from tortoise import fields
from models import BaseModel
class Token(BaseModel):
id = fields.CharField(primary_key=True, max_length=128)
user = fields.ForeignKeyField(
model_name="models.User",
related_name="user_tokens",
on_delete=fields.CASCADE,
)
provider = fields.ForeignKeyField(
model_name="models.Provider",
related_name="provider_tokens",
on_delete=fields.CASCADE,
)
expires = fields.DatetimeField(default=0)
class Provider(BaseModel):
id = fields.IntField(pk=True)
url = fields.CharField(max_length=255, unique=True, null=False)
description = fields.CharField(max_length=255, null=False)
inbound_id = fields.IntField(null=False)
async def get_tokens(user_id: Optional[int] = None) -> list[Token]:
query = Token.all().only("id", "provider__description", "expires").select_related("provider")
if user_id:
query = query.filter(user_id=user_id)
return await query