我有UserSchema
:
# users/models.py
class User(AbstractUser):
...
# users/schemas.py
from typing import List
from tasks.schemas import TaskSchema
class UserSchema(ModelSchema):
tasks: List[TaskSchema] = []
class Config:
model = User
...
...和TaskSchema
:
# tasks/models.py
class Task(models.Model):
...
owner = models.ForeignKey(User, related_name="tasks", on_delete=models.CASCASE)
# tasks/schemas.py
from users.schemas import UserSchema
class TaskSchema(ModelSchema):
owner: UserSchema
class Config:
model = Task
...
但它抛出:
ImportError: cannot import name 'TaskSchema' from partially initialized module 'tasks.schemas' (most likely due to a circular import) (/Users/myname/codes/django/ninja-api/tasks/schemas.py)
我想做的是,我想获取:
GET /api/todos
-具有相关所有者的任务列表GET /api/todos/{task_id}
-具有所有者的任务GET /api/users/{user_id}
-具有所拥有任务列表的用户
版本:
python = ^3.11
django = ^4.1.5
django-ninja = ^0.20.0
如果您需要更多信息,请告诉我。
1条答案
按热度按时间nhaq1z211#
您可以检查两个模型的名称或文件名是否相同,如果这也不起作用,然后告诉他们在同一个文件中制作一个模型或在同一个文件中添加一个模型,这样就不会发生循环数据。
希望这对你有帮助。