Support Django 5 GeneratedField
KianChavoshiNejad opened this issue · comments
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 (<class 'django.db.models.fields.generated.GeneratedField'>)
- 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).
- Create a model with a
GeneratedField
- Create a
DjangoObjectType
for the model created in step 1 - Error will appear when trying to query the generated field in GraphQL
-
What is the expected behavior?
The expected behavior is forDjangoObjectType
to use theoutput_field
type defined in the GeneratedField. -
What is the motivation / use case for changing the behavior?
We would like to leverage the newGeneratedField
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)