“模块”对象没有属性“模式”

时间:2019-06-20 22:57:27

标签: python-2.7 schema

运行培训中的一些代码时遇到问题:

AttributeError: 'module' object has no attribute 'schema'

我的架构存储在schema.py文件中

Anacoda Navigator,spyder,Python 2.7,W10

import schema

SCHEMA = schema.schema

运行第一个文件时出现问题:

AttributeError: 'module' object has no attribute 'schema'

你知道这里有什么问题吗?

2 个答案:

答案 0 :(得分:0)

我的代码也遇到了同样的问题。我发现这个网站能够回答这个问题。

https://www.programcreek.com/python/example/50397/schema.Schema

将您的行更新为

SCHEMA = schema.Schema

答案 1 :(得分:0)

我遇到了同样的问题。

我的文件结构如下:

├── apps
│   ├── schema
│   |   └── schema.py
│   └── users
│       ├── admin.py
│       ├── apps.py
│       ├── __init__.py
│       ├── models.py
│       ├── schema.py
│       ├── tests.py
│       └── views.py
├── db.sqlite3
├── manage.py
└── transportation
    ├── asgi.py
    ├── __init__.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py

根据结构,所有架构都位于apps.schema.schema.py文件中。

Schema.py

import graphene
from graphene import ObjectType

import [some queries from models]

class Query (apps.users.schema, graphene.ObjectType):
    pass


schema = graphene.Schema(query=Query)

有两种方法可以解决此问题。

  1. 转到settings.py文件并将此行添加到其中。
GRAPHENE = {
    'SCHEMA': 'apps.schema.schema.schema'
  1. 转到urls.py并添加以下行:
from apps.schema.schema import schema
urlpatterns = [
    ...
    path('graphql', GraphQLView.as_view(graphiql=True, schema=schema))
]