zoukankan      html  css  js  c++  java
  • admin自定义,使用函数,返回要显示的内容

    
    
    使用函数,返回要显示的内容,如效果图

    models.py文件

    tags 函数,
    class Article(models.Model):
        """文章表"""
        title = models.CharField(max_length=255,unique=True,verbose_name="标题" )
        content = models.TextField(verbose_name="文章内容",null=True)
        account = models.ForeignKey("Account",verbose_name="作者",on_delete=models.CASCADE)
        tag = models.ManyToManyField("Tag",verbose_name="标签",blank=True)
        pub_date = models.DateTimeField(verbose_name="发布时间")
        read_count = models.IntegerField(default=0,verbose_name="阅读量")
        def tags(self):
            return ','.join([i.name for i in self.tag.all()])  #通过生成器,和字符串拼接函数join
    

      


    admin.py
    from django.contrib import admin
    from app01 import models
    # Register your models here.
    class AccountAdmin(admin.ModelAdmin):
        search_fields = ['username',]
        list_display = ('username','email','signature')
        list_per_page = 3
        list_display_links = ('email','username')
        list_editable = ['signature',]
    
    
    class ArticleAdmin(admin.ModelAdmin):
        list_display = ('title','account','read_count','tags')#显示出def tags的返回值
        search_fields = ('title','content')
        #list_filter = ('tag',)
        #fields = ('title','content',('pub_date','read_count'),)
        #exclude = ('pub_date',)
        #date_hierarchy = 'pub_date'
    
        fieldsets = (
            ('文章相关',{
                'fields':
                ['title','content'],
                'classes': ('wide', 'extrapretty','collapse'),
            }),
            ('发布相关',{
               # 'classes':('collapse',),
                'fields':
             ['account',('pub_date','read_count'),'tag']
            })
        )
        #radio_fields = {'account':admin.HORIZONTAL}
        autocomplete_fields = ['account',]
        #raw_id_fields = ['account',]
        readonly_fields = ['read_count',]
        filter_horizontal = ('tag',)
        #filter_vertical = ('tag',)
    admin.site.register(models.Account,AccountAdmin)
    admin.site.register(models.Tag)
    admin.site.register(models.Article,ArticleAdmin)
    

      

  • 相关阅读:
    winform 通过 windows api 实现本机两个exe 消息推送
    winform ListView控件 绘制item和subitems颜色
    C# Windows Service创建和安装
    C# 解析xml文件(带命名空间 xmlns和 xmlns:xsi)
    H5+CSS3 实现分页功能
    C# HashTable Dictionary ConcurrentDictionary HashSet
    使用泛型返回类
    WPF的XAML注意点
    Http监听HttpListener接收请求的Nancy框架
    获取Windows后台进程
  • 原文地址:https://www.cnblogs.com/a10086/p/9292336.html
Copyright © 2011-2022 走看看