danielgtaylor / danielgtaylor/python-betterproto

`to_dict` or `to_pydict` miss integer and boolean fields

Abierto
#490 5 comentarios 0 reacciones 0 asignados Ver en GitHub
bug?
Lenguaje dominante
Python
Estrellas
1.8k
Forks
234
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

when i use `to_dict` or `to_pydict` function to serialize message, `False` and `0` values are not work for boolean and integer fields.
here is the sample code:
```python3
from dataclasses import dataclass

import betterproto

@dataclass
class Greeting(betterproto.Message):
"""Greeting represents a message you can tell a user."""

int_field: int = betterproto.int32_field(1)
bool_field: bool = betterproto.bool_field(2)

if __name__ == "__main__":
greeting = Greeting(
int_field=0,
bool_field=False
)
print(greeting.to_pytdict())
greeting.int_field = 1
greeting.bool_field = True
print(greeting.to_pydict())
```
and output is:
```
{}
{'intField': 1, 'boolField': True}
```
python version: 3.8
betterproto version: 2.0.0b5

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Empieza reproduciendo el ejemplo Greeting con Python 3.8 y compara la salida de to_pydict para los campos enteros y booleanos con valor predeterminado con la salida para valores truthy. Sigue la ruta de serialización de to_dict o to_pydict; estará terminado cuando 0 y False se serialicen correctamente sin cambiar el comportamiento existente.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
python
Área
backend-api-design
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
42/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.