CouchDbKit Django ext does not work with choices
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 35/100
Línea de trabajo
Comienza en couchdbkit/ext/django/forms.py, en fields_for_document, línea 160, usando el ejemplo de Work y WorkForm del issue para reproducir el fallo de renderizado. Comprueba cómo se convierten los valores predeterminados y choices de StringProperty en opciones de campos de formulario; se considera terminado cuando un documento con estas choices puede renderizar su formulario sin el TypeError indicado y conserva el comportamiento predeterminado previsto.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Here is a code example::
# models.py
from couchdbkit.ext.django import schema
LICENCE_CHOICES = (
('gpl', _('GPL')),
('lgpl', _('LGPL')),
('bsd', _('BSD')),
)
class Work(schema.Document):
licence = schema.StringProperty(_('Licence'),
required=True, default='gpl', choices=LICENCE_CHOICES)
# forms.py
from couchdbkit.ext.django.forms import DocumentForm
from .models import Work
class WorkForm(DocumentForm):
class Meta:
document = Work
When I try to render this form, I get this error::
Error when calling the metaclass bases
cannot concatenate 'str' and 'list' objects
Exception Location: .../couchdbkit/ext/django/forms.py in
fields_for_document, line 160
This error is caused by this code::
if prop.choices:
if prop.default:
defaults['choices'] = prop.default_value() + list(
prop.choices)
defaults['coerce'] = prop.to_python
My default value is 'gpl', why default value is concatenated with choices? Is
this an error or a feature which I don't know how to use?
- Lenguaje dominante
- Python
- Estrellas
- 261
- Forks
- 90
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de benoitc/couchdbkit
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 82/100
benoitc/couchdbkit#181 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 35/100
benoitc/couchdbkit#196 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
benoitc/couchdbkit#194 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 30/100
benoitc/couchdbkit#193 · 2 comentarios · 1 reacción ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 48/100
benoitc/couchdbkit#192 ·
Todos los issues de benoitc/couchdbkit
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 80/100
-
area:other help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
WingedGuardian/GENesis-AGI#4734 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
peach-mitao/peach#693 ·
Los mantenedores suelen responder en 1 día
-
Failed result serialization destroys a previously saved JSON resultPosiblemente ocupada @chessing234 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
huggingface/evaluate#867 ·
-
FTP reads inside a transaction use a nonexistent staging pathPosiblemente ocupada @Harsh23Kashyap la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
fsspec/filesystem_spec#2463 ·
Los mantenedores suelen responder en 1 día