zoukankan      html  css  js  c++  java
  • django 中选择字段如何显示文字

    在写博客的例子时,遇到的问题:

    有两个涉及到choice field:

        Technology = 't'
        Book = 'b'
        Life = 'l'
        Data = 'd'
        Tips = 'm'
        CATEGORY_CHOICES = (
            (Technology, '技术交流'),
            (Book, '书籍'),
            (Life, '生活'),
            (Data, '数据分析'),
            (Tips, '短消息'),
        )
    
        name = models.CharField(verbose_name='类名', choices=CATEGORY_CHOICES, max_length=1, default='t')
    
        def __str__(self):
            return self.name
    
        # 文章状态
        STATUS_CHOICES = (
            ('d', '草稿'),
            ('p', '已发布'),
        )
        status = models.CharField(verbose_name='发布状态', choices=STATUS_CHOICES, max_length=1, default='d')
        def __str__(self):
            return self.title
    

      最后 的结果是:

     我知道在模板中是可以通过下面的方式来实现

    {{ {{book.get_category_display }}
    

       由于这用的是xadmin的后台,所以用这种方式是不现实的

    那么有没有在python代码中实现的方法呢,

    方法如下:

        def __str__(self):
            return self.get_name_display()
    

      

    同时这里注意到,第二个choice field中的status并没有用这个方法而能正常显示,可能是xadmin已经设计好了,

    但是category中的name却没有正常显示可能与它是唯一的字段有关, 有待验证.

  • 相关阅读:
    洛谷 1736 创意吃鱼法
    有多重限制的背包
    洛谷 1417 烹调方案
    2008 noip 传纸条
    环形石子合并 洛谷 1880 && hdu 3506 Monkey Party
    洛谷 1282 多米诺骨牌
    (金明的预算方案)依赖性的背包
    分组背包问题
    混合背包问题
    多重背包问题
  • 原文地址:https://www.cnblogs.com/Andy963/p/8588244.html
Copyright © 2011-2022 走看看