【发布时间】:2014-01-10 19:09:27
【问题描述】:
我正在尝试在管理表单上同时使用 autocomplete_light 和 taggit。
我已阅读有关集成自动完成灯光和 taggit here 的文档, 以及在管理员here 中集成自动完成灯的文档。但似乎很少(或根本没有)讨论同时做这两项工作。
到目前为止我已经得到了什么。
在models.py:
from django.db import models
from taggit.managers import TaggableManager
from taggit.models import TagBase, GenericTaggedItemBase
class MyTag(TagBase):
description = models.CharField(max_length = 250, blank = True, null = True)
class MyTagThroughModel(GenericTaggedItemBase):
tag = models.ForeignKey(MyTag, related_name = "tagged_items")
class MyModel(models.Model):
Name = models.CharField(max_length = 200)
...
tags = TaggableManager(through = MyTagThroughModel)
在autocomplete_light_registry.py:
import autocomplete_light
from models import MyTag
autocomplete_light.register(MyTag)
我应该如何构造admin.py?
如果这是一个非管理员表单,该字段将被指定为:
tags = TagField(widget = TagWidget('MyTagAutocomplete'))
如果这是一个非 taggit 管理表单,我会在管理模型类中添加以下内容:
form = autocomplete_light.modelform_factory(MyTag)
如何将两者结合起来?
【问题讨论】:
标签: django django-admin django-taggit django-autocomplete-light