Al final de la pagina 36 del Tutorial 1.8.0.pfd aparece ese codigo.
from django.db import models
class Pregunta(models.Model):
# ... Aquí van los campos
def __str__(self): # __unicode__ en Python 2
return self.Pregunta
class Opcion(models.Model):
# ... Aquí van los campos
def __str__(self): # __unicode__ en Python 2
return self.Opcion
Pregunta y Opcion , no son atributos de la clase y al hacer uso de ellos aparece:
Python 3.4.0 (default, Apr 11 2014, 13:05:11)
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from encuestas.models import Pregunta, Opcion
>>> Pregunta.objects.all()
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/usr/local/lib/python3.4/dist-packages/django/db/models/query.py", line 141, in __repr__
return repr(data)
File "/usr/local/lib/python3.4/dist-packages/django/db/models/base.py", line 496, in __repr__
u = six.text_type(self)
File "/home/antonio/django/misitio/encuestas/models.py", line 11, in __str__
return self.Pregunta
AttributeError: 'Pregunta' object has no attribute 'Pregunta'
Creo que el código correcto es:
class Pregunta(models.Model):
def __str__(self):
return self.texto_pregunta
class Opcion(models.Model):
def __str__(self):
return self.texto_opcion
Gracias por la sugerencia. Una pregunta cómo te ha funcionado django con python 3.x? ¿has tenido problemas con la codificación en español en acentos y cosas así?
Al final de la pagina 36 del Tutorial 1.8.0.pfd aparece ese codigo.
Pregunta y Opcion , no son atributos de la clase y al hacer uso de ellos aparece:
Creo que el código correcto es: