graphql-python / graphql-python/graphene-django

Received incompatible instance

Open
#1,196 0 comments 0 reactions 0 assignees View on GitHub
🐛bug
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.