File: duplicated-type-name.md

package info (click to toggle)
strawberry-graphql 0.306.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 18,176 kB
  • sloc: javascript: 178,052; python: 65,643; sh: 33; makefile: 25
file content (67 lines) | stat: -rw-r--r-- 1,126 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
---
title: Duplicated Type Name Error
---

# Duplicated Type Name Error

## Description

This error is thrown when you try to register two types with the same name in
the schema.

For example, the following code will throw this error:

```python
import strawberry


@strawberry.type
class User:
    name: str


@strawberry.type(name="User")
class UserB:
    name: str


@strawberry.type
class Query:
    user: User
    user_b: UserB


schema = strawberry.Schema(query=Query)
```

## How to fix this error

To fix this error you need to make sure that all the types in your schema have
unique names. For example in our example above we can fix this error by changing
the `name` argument of the `UserB` type:

```python
import strawberry


@strawberry.type
class User:
    name: str


# Note: Strawberry will automatically use the name of the class
# if it is not provided, in this case we are passing the name
# to show how it works and how to fix the error
@strawberry.type(name="UserB")
class UserB:
    name: str


@strawberry.type
class Query:
    user: User
    user_b: UserB


schema = strawberry.Schema(query=Query)
```