Я пишу GraphI API в Джанго.Я хочу сделать поиск, как в примере ниже.Я новичок в использовании graphql, и я знаю только, как вернуть весь объект.Итак, я хотел бы знать 1) как разбить результат на разные страницы, каждая страница которых содержит 10 результатов.2) Как я могу отфильтровать результат по полю ForeignKey?Мол, я хочу отфильтровать Expense.objects
по ExpenseDetail.date
, а также вывести его.Я попытался использовать expense_set
, чтобы выполнить поиск, но ошибка отчета graphql.Как я могу решить две вышеупомянутые проблемы.Большое спасибо.
Models.py (значительно упростили):
class Expense(BaseModel):
id = models.AutoField()
price = models.FloatField()
class ExpenseDetail(BaseModel):
id = models.CharField()
date = models.DateField()
expense = models.ForeignKey(Expense, on_delete=models.CASCADE, default=None, null=True, blank=True)
Schema.py:
class ExpenseType(DjangoObjectType):
class Meta:
model = Expense
class Query(graphene.ObjectType):
list_expense = graphene.List(ExpenseType, search=graphene.String())
def resolve_list_expense(self, info, search=None, **Kwargs):
return Expense.objects.all()
Graphql:
query{
listExpense(ExpenseId:"", page:1, pageSize:10, startdate:"", enddate:"") {
page
pageSize
totalSize
expense_set{
date
}
}
}