Серж, выведите определение моделей в отдельный файл с именем models.py
. Зарегистрируйте проект в файле __init__.py
пакета.
У вас есть циклический импорт, потому что файл чертежа пытается импортировать ссылку на людей из views.py
, но в views.py
вы пытаетесь импортировать db из blueprints.py
. И все это делается на верхнем уровне модулей.
Вы можете сделать свою структуру проекта следующим образом:
app
__init__.py # registering of blueprints and db initialization
mods
__init__.py
people
__init__.py # definition of module (blueprint)
views.py # from .models import User
models.py # from app import db
UPD:
Для те, кто находится в цистерне:
people/__init__.py
-> mod = Module('app.mods.people', 'people')
people/views.py
-> @mod.route('/page')
app/__init__.py
- -> from app.mods import people; from app.mods.people import views; app.register_blueprint(people.mod, **options);
Мутация для создания задачи имеет следующую форму:
mutation b {
createTask(
data: {
content: "Task1"
completed: false
dateToDo: { connect: { id: "cjqzjvk6w000e0999a75mzwpx" } }
}
) {
id
}
}
Тип DayCreateOneWithoutTasksInput
, который запрашивает Prisma, генерируется автоматически и является ожидаемым для поля dataToDo
. Имя означает, что Prisma будет принимать тип, который создает один Day
узел, но не имеет полевых задач, или тип, который определяет соединение. Часть состояния WithoutTasksInput
существует, потому что тип может использоваться только во вложенной мутации, когда вы начинаете с задачи, поэтому Prisma уже имеет значение для заполнения поля задач на вложенном узле Day
, а вы нужно указать его, если вы создаете день вместо того, чтобы подключить существующий.
Если вы используете игровую площадку, вы можете исследовать схему, которая содержит все типы справа.
Исследователь схем на игровой площадке
Надеюсь, это поможет!