关于 django ManyToManyField

Posted

技术标签:

【中文标题】关于 django ManyToManyField【英文标题】:about django ManyToManyField 【发布时间】:2012-01-12 12:42:19 【问题描述】:

我正在使用 django 编写博客程序。

class Tag(models.Model):
 name = models.CharField(max_length=100)

class BlogPost(models.Model):
 .....
 tags = models.ManyToManyField(Tag)
 ....

在 django 的 admin 中,BlogPost 中的 tag 字段显示为 <select>

如何让它显示为<input type="text"/>?并在输入新标签时自动添加标签。

谢谢。

【问题讨论】:

【参考方案1】:

创建您自己的小部件类,它继承自 forms.Widget。覆盖将标签对象转换为字符串的“render”方法。保存表单数据时可以使用标签字段的“清理”方法。对不起我的英语不好。您可以在 django-taggit 第三方应用程序 https://github.com/alex/django-taggit/blob/master/taggit/forms.py 中看到很好的示例

【讨论】:

以上是关于关于 django ManyToManyField的主要内容,如果未能解决你的问题,请参考以下文章

Django:ManyToManyField,如果对象不存在则添加它

Django:如何检查用户是不是已经在 ManyToManyField 上投票?

使用自定义字段扩展 Django 的 ManyToManyField

删除 django 模型中不相关的对象(manytomanyfield)

Django 1.8 - 中间多对多关系 - 使用“ManytoManyField”的结果是啥?

Django ManyToManyField 关系