graphql-python / graphql-python/graphene-django
Support Django 5 GeneratedField
- Dominant language
- Python
- Stars
- 4.4k
- Forks
- 760
- PR merge metrics
- No merged PRs in 30d
Description
**Note: for support questions, please use stackoverflow**. This repository's issues are reserved for feature requests and bug reports.
* **What is the current behavior?**
I used Django 5's GenerativeField to define one of my fields
```
quantity = models.PositiveIntegerField()
unit_price = models.DecimalField(
max_digits=12,
decimal_places=2,
null=True,
blank=True,
)
total_price = models.GeneratedField(
expression=models.F("quantity") * models.F("unit_price"),
output_field=models.DecimalField(
max_digits=12,
decimal_places=2,
),
db_persist=True,
null=True,
blank=True,
)
```
When I try to pass the value through the` DjangoObjectType`, I received the following error:
Exception: Don't know how to convert the Django field ModelName.total_price ()
* **If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem** via
a github repo, https://repl.it or similar (you can use this template as a starting point: https://repl.it/@jkimbo/Graphene-Django-Example).
1. Create a model with a `GeneratedField`
2. Create a `DjangoObjectType` for the model created in step 1
3. Error will appear when trying to query the generated field in GraphQL
* **What is the expected behavior?**
The expected behavior is for `DjangoObjectType` to use the `output_field` type defined in the GeneratedField.
* **What is the motivation / use case for changing the behavior?**
We would like to leverage the new `GeneratedField` functionality in Django 5.
* **Please tell us about your environment:**
- Version: 14,2,1
- Platform: macOS Sonoma
- Django_version = 5.0.1
-Graphene_version = 3.3
* **Other information** (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow)
Contributor guide
Assessment
This issue has not been assessed yet.