我正在使用 AIOHTTP 开发 API 服务,我尝试集成一些异步 ORM,第一个候选者是 Tortoise-ORM。在 Django 项目中,我有很多链接模型,__str__
方法如下:
from tortoise.models import Model
from tortoise import fields
class Department(Model):
id = fields.IntField(pk=True)
title = fields.TextField()
upper = fields.ForeignKeyField('models.Department', related_name='children')
def __str__(self):
if self.upper is not None:
return f'{self.id} Department {self.title} of {self.upper.title}'
else:
return f'{self.id} Department {self.title}, head'
class Employee(Model):
id = fields.IntField(pk=True)
name = fields.TextField()
dep = fields.ForeignKeyField('models.Department', related_name='employees')
def __str__(self):
return f'{self.id}. Employee {self.name} of {self.dep.title}'
以便每个对象在描述中显示它的相关模型。但在乌龟我得到一个错误:
AttributeError:“QuerySet”对象没有属性“title”
我想不可能在__str__
方法中等待查询。那么,是否有可能使用相关模型的领域来使用 Tortoise-ORM 创建对象表示?