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)
    

      

  • 相关阅读:
    Java-二维码
    Java-properties
    Java-JSON
    Java-动态代理
    Java-XML
    Java-IO
    Java-File类
    Java-Http
    测试工作小工具~总结&下载连接
    Jenkins持续集成环境搭建
  • 原文地址:https://www.cnblogs.com/a10086/p/9292336.html
Copyright © 2011-2022 走看看