es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

“La transferencia de metadatos de campo como argumentos clave está obsoleta.”

Durante la ejecución de prueba de pytest, noté una advertencia que indica lo siguiente:

    /usr/local/lib/python3.6/site-packages/marshmallow/fields.py:222: RemovedInMarshmallow4Warning: Passing field metadata as keyword arguments is deprecated. Use the explicit `metadata=...` argument instead. Additional metadata: {'places': 0}
    RemovedInMarshmallow4Warning,

Módulo test_get_record_not_found
/usr/local/lib/python3.6/site-packages/flask/json/init.py:211: DeprecationWarning: Importing ‘itsdangerous.json’ is deprecated and will be removed in ItsDangerous 2.1. Use Python’s ‘json’ module instead.
rv = _json.dumps(obj, **kwargs)

La prueba es una simple búsqueda de contacto no encontrada:

    def test_get_record_not_found(test_client,db_session):
        get_resp = test_client.get(
            f'/record/0')
        get_data = json.loads(get_resp.data.decode())

        assert get_resp.status_code == 404
        assert 'not found' in get_data['message']

¿Sabes cómo podría deshacerme de la advertencia anterior?

Gracias.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Sí, puedes deshacerte de la advertencia actualizando el código para utilizar el argumento explícito ‘metadata’ en lugar de pasar metadata como argumentos de palabra clave.

    Por ejemplo, en lugar de:

    fields.String(required=True, default='', metadata={'places': 0})
    

    usa:

    fields.String(required=True, default='', metadata={'places': 0}, metadata={'places': 0})
    

    Además, puedes actualizar el código para utilizar el módulo json de Python en lugar de importar itsdangerous.json para evitar el mensaje de advertencia de DeprecationWarning.

    Por ejemplo, en lugar de:

    from itsdangerous import json as _json
    

    usa:

    import json as _json
    

Comments are closed.