簡體   English   中英

讓Django-taggit在admin中顯示標簽的值

[英]Make Django-taggit show the value of the tags in admin

所以我想用django和djanggo-taggit制作簡單的博客。

這是我的models.py

from django.db import models
from django.db.models import permalink
from taggit.managers import TaggableManager

class Post(models.Model):
    title = models.CharField(max_length=100, unique=True)
    slug = models.SlugField(max_length=100, unique=True)
    body = models.TextField()
    posted = models.DateField(db_index=True, auto_now_add=True)
    category = models.ForeignKey('Category')
    tag = TaggableManager()

    def __unicode__(self):
        return '%s' % self.title


class Category(models.Model):
    title = models.CharField(max_length=100, db_index=True)
    slug = models.SlugField(max_length=100, db_index=True)

    def __unicode__(self):
        return '%s' % self.title

    class Meta:
        verbose_name_plural = 'categories'

這是我的admin.py

from django.contrib import admin
from .models import Post, Category


class PostAdmin(admin.ModelAdmin):
    exclude = ('posted',)
    list_display = ('title', 'category', 'tag', 'posted')
    list_filter = ('posted', 'tag')
    search_fields = ('title', 'body', 'category', 'tag')
    prepopulated_fields = {'slug': ('title',)}


class CategoryAdmin(admin.ModelAdmin):
    prepopulated_fields = {'slug': ('title',)}

admin.site.register(Post, PostAdmin)
admin.site.register(Category, CategoryAdmin)

現在位於http://127.0.0.1:8000/admin/blog/post/的標簽選項卡上顯示<taggit.managers._TaggableManager object at 0x01AE4650> 如何讓它顯示對象的標題? 提前致謝

它在這里說你不能直接使用列表顯示: http//django-taggit.readthedocs.org/en/latest/admin.html

你可以得到這樣的標簽:

class PostAdmin(admin.ModelAdmin):    
    list_display=['get_tags']

    def get_tags(self, post):
        tags = []
        for tag in post.tags.all():
            tags.append(str(tag))
        return ', '.join(tags)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM