gpt4 book ai didi

python - Django:向模型类对象添加附加属性

转载 作者:太空宇宙 更新时间:2023-11-04 07:13:17 24 4
gpt4 key购买 nike

这是使用 Google App Engine。我不确定这是否适用于普通的 Django 开发,或者 Google App Engine 是否会发挥作用。如果是,请告诉我,以便我更新此问题的描述。

class MessageModel(db.Model):
to_user_id = db.IntegerProperty()
to_user = db.StringProperty(multiline=False)
message = db.StringProperty(multiline=False)
date_created = db.DateTimeProperty(auto_now_add=True)

现在,当我执行查询获取“MessageModel”列表并将其发送到 template.html 以进行绑定(bind)时,我想包含更多属性,例如“since_date_created”以输出多久以前最后一个输出,可能会使用 message 属性并添加其他有助于布局的参数,例如“highlight”、“background-color”等...

我想到的唯一方法是遍历初始查询对象并创建一个新列表,我将在其中添加属性值,然后将其追加回列表。

    for msg in messagesSQL:
msg.lalaland = "test"
msg.since_created_time = 321932
msglist.append(msg)

然后不再传递 template.html messagesSQL,而是传递 msglist。

最佳答案

在通过 for 循环向模板添加元素后,您应该仍然能够将它的 messagesSQL 发送到模板。 Python 允许这样的事情。

在某些情况下可能有意义的其他事情是提供您的 MessageModel 方法。例如,如果您有一个

def since_date_created(self):
'''Compute the time since creation time based on self.date_created.'''

然后(假设模板中有“messagesSQL”),您可以将函数用作

{% for msg in messagesSQL %}
{{ msg.since_date_created }}
{% endfor %}

基本上,您可以调用模型中的任何方法,只要它不需要传递给它的参数即可。

关于python - Django:向模型类对象添加附加属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/741270/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com