我已经为发送日期挣扎了很长一段时间
通过下面的代码,我得到了错误消息"query failed - ['unicode' object has no attribute 'isoformat']"
。我希望你知道一个解决办法
以下是数据库服务器代码,节略如下:
class AddLicenseCode(graphene.Mutation):
class Arguments:
valid_from = graphene.String()
valid_to = graphene.String()
valid_from = graphene.types.datetime.DateTime()
valid_to = graphene.types.datetime.DateTime()
@staticmethod
def mutate(root, info, **args):
context = info.context
valid_from = args.get('valid_from')
valid_to = args.get('valid_to')
licenseCodeResponse = license_service.add_license_code(valid_from, valid_to)
return AddLicenseCode(
valid_from=licenseCodeResponse['valid_from'],
valid_to=licenseCodeResponse['valid_to'])
...
def add_license_code(self, valid_from, valid_to):
db = self.get_write_db()
variables = {
"valid_from": valid_from.isoformat(), <-----ERROR HAPPENS HERE
"valid_to": valid_to.isoformat(),
}
下面是位于前端和数据库服务器之间的客户机/服务器的代码,节略如下:
const addLicenseCodeMutation = {
name: 'AddLicenseCodeMutation',
type: addLicenseCodeType,
description: "Mutation for adding a license code",
args: {
validFrom: { type: graphql.GraphQLInt },
validTo: { type: graphql.GraphQLInt },
},
resolve: function (source, args, context, _info) {
return licenseService.addLicenseCode(args, context);
}
};
addLicenseCode = function(args, context) {
const validFrom = args.validFrom;
const validTo = args.validTo;
const query = 'mutation licenseMutation { addLicenseCode(' +
'validFrom: "' + validFrom + '", ' +
'validTo: "' + validTo + '", ' +
'){validFrom, validTo}}'
return queryLicenseService(query, requestId, context, function (data) {
return data['addLicenseCode'];
});
以下是前端代码,节略如下:
const variables = {
validFrom: timeLimit ? null : Date.parse(validFrom),
validTo: timeLimit ? null : Date.parse(validTo),
};
const result = yield client.mutate({
mutation: gql`
mutation licensemutation($validFrom: Int, $validTo: Int) {
addLicenseCode(validFrom: $validFrom, validTo: $validTo) {
validFrom,
validTo
}
}
`,
variables: {...variables},
});
目前没有回答
相关问题 更多 >
编程相关推荐