2013-04-18 4 views
2

Это модель классаDjango-Taggit в Edit Form

class ModelName(models.Model): 
    (...) 
    pasta = TaggableManager(verbose_name=u'Pasta') 

и шаблон формы (нормальный: P)

{{}} form.as_p

Я хотел бы оставить все очень чистым и полезным. Но результат список TaggedItem объекта :(:

[<TaggedItem: id: 2 tagged with general >, <TaggedItem: id: 3 tagged with outer >] 

Вместо того, чтобы что-то вроде

general, outer 

Как сделать это модно в Django

ответ

2

Дайте взглянуть на? код в: https://github.com/alex/django-taggit/blob/master/taggit/forms.py. Вы найдете виджет, используемый для рендеринга тегов. Вы можете использовать его для правильного отображения.

Пример:

models.py

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


class Example(models.Model): 
    name = models.CharField(max_length=20)  
    tags = TaggableManager() 

forms.py

.models import Example 
from django import forms 
from taggit.forms import TagWidget 


class ExampleForm(forms.ModelForm): 

    class Meta: 
     model = Example 
     fields = ('name', 'tags',) 
     widgets = { 
      'tags': TagWidget(), 
     } 

Я рекомендую вам проверить этот ответ тоже. django - django-taggit form

+0

У меня такая же проблема, но решение в этом ответе не влияет на меня. Я использую Django 1.7 и django-taggit == 0.12.2. Есть идеи? – Jack