关于 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)