graphql-python / graphql-python/graphene-django
Received incompatible instance
- Dominant language
- Python
- Stars
- 4.4k
- Forks
- 760
- PR merge metrics
- No merged PRs in 30d
Description
Hi, everybody.
please help me.
I am using values attribute for group by in django-graphene but I am having some issues.
* **What is the current behavior?**
```
class ReportGroupSoumissions(Interface):
num_soumissions = Int()
month = DateTime()
amount = Decimal()
assureur_name = String()
producteur_name = String()
provenance_name = String()
souscripteur_name = String()
class SoumissionParticulierReport(DjangoObjectType):
class Meta:
model = SoumissionParticulier
interfaces = (ReportGroupSoumissions,)
```
```
from ..models import SoumissionParticulier
reportparticulier = List(SoumissionParticulierReport, year=Int(), spec_month=Int(), report_type=String(), group_by=String())
def resolve_reportparticulier(root, info, **args):
return SoumissionParticulier.objects\
.filter(date_remis__year=2021)\
.values('assureur__name', 'producteur__name')\
.annotate(assureur_name=F('assureur__name'), producteur_name=F('producteur__name'), provenance_name=F('provenance__name'), souscripteur_name=F('souscripteur__name'))\
.annotate(month=TruncMonth('date_remis'))\
.annotate(amount=Sum('prime_vendue'))\
.order_by('assureur__name', 'producteur__name', 'month')
```
This is query
```
query {
reportparticulier(year: 2021, reportType: "number_of_quotes", groupBy: "assureur") {
month,
numSoumissions,
amount,
assureurName,
producteurName
}
}
```
This is the message for issue.
> Received incompatible instance \"{'assureur__name': 'assureurs01', 'producteur__name': 'producteurs02', 'assureur_name': 'assureurs01', 'producteur_name': 'producteurs02', 'provenance_name': 'provenances02', 'souscripteur_name': 'souscripteur01', 'month': datetime.date(2021, 4, 1), 'amount': Decimal('5.00')}\".
* **What is the expected behavior?**
```
{
"data": {
"reportparticulier": [
{
"month": "2021-04-01",
"numSoumissions": null,
"amount": "5.00",
"assureurName": "assureurs01",
"producteurName": "producteurs02"
},
{
"month": "2021-02-01",
"numSoumissions": null,
"amount": "7.00",
"assureurName": "assureurs02",
"producteurName": "producteurs01"
},
{
"month": "2021-04-01",
"numSoumissions": null,
"amount": "0.00",
"assureurName": "assureurs02",
"producteurName": "producteurs02"
},
{
"month": "2021-04-01",
"numSoumissions": null,
"amount": "0.11",
"assureurName": "assureurs02",
"producteurName": "producteurs03"
},
{
"month": "2021-03-01",
"numSoumissions": null,
"amount": "3.00",
"assureurName": "assureurs03",
"producteurName": "producteurs01"
}
]
}
}
```
* **Please tell us about your environment:**
- Version:
graphene == 2.1.8
graphene-django == 2.15.0
- Platform:
windows
Contributor guide
Assessment
This issue has not been assessed yet.