django - 将模型的记录配置为唯一不重复
问题描述
我有一个标签模型,它与具有多对多关系的文章相关:
class Tag(models.Model):
owner = models.ForeignKey(User,on_delete=models.CASCADE)
name = models.CharField(max_length=50)
def __str__(self):
return self.name
class Meta:
ordering = ("id",)
class Article(models.Model):
tags = models.ManyToManyField(Tag, blank=True)
owner = models.ForeignKey(User, on_delete=models.CASCADE)
...
我想确保标签是唯一的而不是重复的,但发现这很困难
In [39]: article.tags.create(name="django", owner=article.owner)
Out[39]: <Tag: django>
In [40]: article.tags.create(name="django", owner=article.owner)
Out[40]: <Tag: django>
In [41]: article.tags.create(name="django", owner=article.owner)
Out[41]: <Tag: django>
In [42]: article.tags.all()
Out[42]: <QuerySet [<Tag: django>, <Tag: django>, <Tag: django>, <Tag: django>, <Tag: django>]>
In [43]: Tag.objects.all()
Out[43]: <QuerySet [<Tag: django>, <Tag: django>, <Tag: django>, <Tag: django>, <Tag: django>, '...(remaining elements truncated)...']>
如何将标签的重新编码配置为唯一?
解决方案
推荐阅读
- react-native - Expo WebRTC - 评估“WebRTCModule.enumerateDevices”
- node.js - 如何设置全局节点版本?非易失性存储器
- python - 如何将数字从单词转换为整数
- parameters - CPLEX 错误 1803“临时文件写入失败”
- ruby-on-rails - Ruby on Rails:仅指定 _type 的多态连接范围
- python-3.x - Python 的 shlex.split 删除引号
- python - Streamlit 阻止请求凭据
- mongodb - Mongod 命令不会启动服务器
- c++ - 为什么 seekp/tellp 在追加模式下表现不同?
- html - 为什么连字符不能与 lang en 一起使用