【问题标题】:how to update the value of a db field in django template如何更新 django 模板中 db 字段的值
【发布时间】:2020-12-09 09:04:55
【问题描述】:

我的 models.py 中有一个名为 status 的变量,如下所示:

class message(models.Model):

    class Choices_status(models.TextChoices):
        unread = 'Unread', "Unread"
        processing = 'Processing', "Processing"
        obsolete = 'Obsolete', "Obsolete"
       

    status = models.CharField(max_length=25, choices=Choices_status.choices, default=Choices_status.unread, blank=True)

它表示消息的状态。我想将它的值更改为Choices_status 的其他选择。

即在我显示messages 列表的模板内,如果选择了一条消息并在新页面上显示,我想将此变量的值更改为其他选项。

我只能找到不适合我的情况的 {% with %} 标签。

有什么想法吗?

更新:

我想从模板中更新数据库字段的值。我没有使用 Django 表单和类视图。

【问题讨论】:

    标签: python django django-templates


    【解决方案1】:

    请参考Django documentation about choice field

    您的代码应如下所示:

    class message(models.Model):
      UNREAD = 'Unread'
      PROCESSING= 'Processing'
      OBSOLETE= 'Obsolete'
      MY_CHOICES = [
            (UNREAD ,'Unread')
            (PROCESSING,'Processing')
            (OBSOLETE,'Obsolete')
      ]
      status = models.CharField(
        max_length=25,
        choices=MY_CHOICES,
        default=UNREAD,
        blank=True
      )
    

    【讨论】:

    • 我不明白它应该如何提供帮助?!
    • 请不要只发布一个链接作为答案。请参阅How do I write a good answer?,特别是“鼓励链接到外部资源,但请在链接周围添加上下文,以便您的其他用户了解它是什么以及为什么存在。始终引用重要链接中最相关的部分,以防万一外部资源无法访问或永久脱机。”
    • @Kemp 感谢您的提示,但请回答我的问题:v
    • @Shahriar.M 我编辑了答案并添加了代码
    • 我想从模板中更新数据库字段的值(比如 status )。请告诉如何更改值?
    猜你喜欢
    • 1970-01-01
    • 2020-07-07
    • 2015-05-13
    • 1970-01-01
    • 2020-01-06
    • 2011-01-15
    • 1970-01-01
    • 2011-07-27
    • 1970-01-01
    相关资源
    最近更新 更多