我正在尝试在管理表单上同时使用 autocomplete_light 和 taggit。
我在这里阅读了关于集成自动完成光和 taggit的文档,以及关于在管理员中集成自动完成光的文档。但似乎很少(或根本没有)讨论同时做这两项工作。
到目前为止我所拥有的。
在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)
我怎样才能将两者结合起来?