in

Plantillas de django: ¿Python tiene un equivalente toString () y puedo convertir un elemento db.Model en String?

apple touch icon@2

Estoy escribiendo una aplicación de lista de tareas pendientes para ayudarme a comenzar con Python. La aplicación se ejecuta en GAE y estoy almacenando elementos de tareas pendientes en el almacén de datos. Quiero mostrarles los artículos de todos, y solo a ellos. El problema es que la aplicación actualmente muestra todos los elementos a todos los usuarios, así que puedo ver lo que escribes y tú ves lo que escribo. Pensé que lanzar mi objeto todo.author a una cadena y ver si coincide con el nombre del usuario sería un buen comienzo, pero no sé cómo hacerlo.

Esto es lo que tengo en mi main.py

... 
user = users.get_current_user()

if user:
    nickname = user.nickname()
    todos = Todo.all()
    template_values = {'nickname':nickname, 'todos':todos}
...

def post(self):

    todo = Todo()
    todo.author = users.get_current_user()
    todo.item = self.request.get("item")
    todo.completed = False

    todo.put()      
    self.redirect("http://stackoverflow.com/")

En mi index.html tenía esto originalmente:

<input type="text" name="item" class="form-prop" placeholder="What needs to be done?" required/>
...
 <ul>
{% for todo in todos %}
  <input type="checkbox"> {{todo.item}} <hr />
{% endfor %}
</ul>

pero me gustaría mostrar elementos solo al usuario que los creó. Pensé en intentar

{% for todo in todos %}
    {% ifequal todo.author nickname %}
  <input type="checkbox"> {{todo.item}} <hr />
    {% endifequal %}
{% endfor %}

en vano. La lista aparece en blanco. Supuse que es porque todo.author no es una cadena. ¿Puedo leer el valor como una cadena o puedo convertir el objeto en String?

¡Gracias!

Editar: Aquí está mi clase de Todo

class Todo(db.Model):
    author = db.UserProperty()
    item = db.StringProperty()
    completed = db.BooleanProperty()
    date = db.DateTimeProperty(auto_now_add=True)

¿Cambiar mi autor a StringProperty afectará algo negativamente? Tal vez pueda renunciar al casting por completo.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

vba user form 1

VBA – Formularios de usuario

Objetos JavaScript – javatpoint