发送日期JavaScript>Python>MySQL时出现问题:“unicode”对象没有属性“isoformat”

2024-10-01 00:22:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经为发送日期挣扎了很长一段时间

通过下面的代码,我得到了错误消息"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},
            });

Tags: to代码fromreturnlicensecontextargsvariables