Comments (8)
one workaround is organization_id: strawberry.scalars.ID = strawberry_django.field(field_name="organization_id")
, which fixes the name and prevents it from being reassigned/detected
from strawberry-django.
@kevinmsun this should be solved in the latest release.
Let me know if it works ok for you!
from strawberry-django.
@kevinmsun this should be solved in the latest release.
Let me know if it works ok for you!
thanks so much, I'll check it out!
from strawberry-django.
This looks is really useful. All my types are annotated with
def to_gid(gql_type: Type, pk: uuid.UUID) -> relay.GlobalID | None:
if pk:
return relay.GlobalID(gql_type.__strawberry_definition__.name, str(pk))
return None
@strawberry_django.type(Site)
class SiteGQLNode(relay.Node):
@strawberry_django.field
def organization_id(self, root: PermissionGroup) -> relay.GlobalID | None:
return to_gid(OrganizationGQLNode, root.organization_id)
from strawberry-django.
Just noticed that it returns the UUID (if the primary key is set as UUIDs) instead of the relay.GID. Is there an approach to write code similar to the following:
@strawberry_django.type(Site)
class SiteGQLNode(relay.Node):
organization_id: relay.GlobalID | None
And the respective GQL query:
{
allSites {
edges { node {
id
organizationId
}}
}
}
from strawberry-django.
@moritz89 you mean, using organization_id: auto
but have it being exposed as organization_id: relay.GlobalID | None
?
from strawberry-django.
Not necessarily, just a method to be able to specify it as a single line, organization_id: auto
or organization_id: relay.GlobalID | None
instead of
@strawberry_django.field
def organization_id(self, root: PermissionGroup) -> relay.GlobalID | None:
return to_gid(OrganizationGQLNode, root.organization_id)
When I use either of the single line options, it returns the UUID instead of GQL GID.
With v0.33.0 the result was:
{
"data": {
"allSites": {
"edges": [
{
"node": {
"id": "U2l0ZUdRTE5vZGU6N2JmN2ZhNjYtNTU1ZS00N2QzLThiNzktYjA0MGVhYTA1YWM1",
"organizationId": "Admin's organization"
}
},
{
"node": {
"id": "U2l0ZUdRTE5vZGU6ZmE2MzUxMWQtOWEzMC00MTBkLThhMmEtNWY3MmU1NmEyMDcy",
"organizationId": "Admin's organization"
}
}
]
}
}
}
With v0.37.0 the output is:
{
"data": {
"allSites": {
"edges": [
{
"node": {
"id": "U2l0ZUdRTE5vZGU6N2JmN2ZhNjYtNTU1ZS00N2QzLThiNzktYjA0MGVhYTA1YWM1",
"organizationId": "6ee306b6-cf33-4b7c-91c1-5371289257ac"
}
},
{
"node": {
"id": "U2l0ZUdRTE5vZGU6ZmE2MzUxMWQtOWEzMC00MTBkLThhMmEtNWY3MmU1NmEyMDcy",
"organizationId": "6ee306b6-cf33-4b7c-91c1-5371289257ac"
}
}
]
}
}
}
from strawberry-django.
@moritz89 sorry for taking too long to reply here...
I'm still confused about what exactly regressed here. Can you give me a longer explanation, or even maybe a MRE?
Also, you might want to open a new issue to register the regression as it will make it easier to track
from strawberry-django.
Related Issues (20)
- Enum values in mutation input causes ValidationError HOT 2
- Allow to return custom types on mutations without a related django model
- Self is coroutine - there is no data being awaited. HOT 4
- Nested Perms Results in unecessary queries (N+1?) HOT 4
- Built in create mutation has regressed and is not able to create model instances correctly HOT 2
- `django.db.models.expressions.DatabaseDefault` raises `TypeError: fromisoformat` on mutation HOT 1
- Docs for reference for DjMoney type HOT 5
- Returning `bool` from mutation causes exception. HOT 6
- Custom filter/order method unexpected value
- ListConnectionWithTotalCount and filter custom resolver HOT 2
- description and deprecation_reason parameters of enums values not used HOT 4
- Apollo Sandbox doesn't update debug toolbar HOT 2
- Ability to use custom StrawberryDjangoField class for relay connections and nodes HOT 1
- Slow startup when defining many filters HOT 5
- N+1 in some resolvers when enabling `only` extension HOT 2
- The right way to protect and filter information HOT 5
- Thanks! HOT 1
- The get_queryset method is called twice when using relay connections HOT 1
- Custom ordering methods doesn't work when value are passed by variables HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from strawberry-django.