【发布时间】:2023-02-18 03:34:56
【问题描述】:
我有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
【问题讨论】:
标签: python django api rest django-ninja