我正在为我的表项创建一个keyword
字段,该字段必须是唯一的。现在我了解如何使表项独特,但我如何使M2M项目独特,以便它们不被重用?
这是我到目前为止的代码:
class Keyword(models.Model):
name = models.CharField(max_length=100, unique=True, blank=False)
class MainEntity(models.Model):
keywords = models.ManyToManyField(Keyword, default=None, null=True, blank=True, verbose_name='Keyword')
所以这个例子有效,除了我可以创建一堆具有相同MainEntity
的其他Keyword
项的事实,但显然我不能创建重复Keyword
因此它的{ {1}}。但是,我如何限制使用相同的关键字?
答案 0 :(得分:0)
好的,要抓住答案。以下内容可确保您拥有唯一的Keywords
,只能引用一个MainEntity
,但MainEntity
可以包含多个关键字:
class Keyword(models.Model):
name = models.CharField(max_length=100, unique=True, blank=False)
main_entity = models.ForeignKey(MainEntity)
class MainEntity(models.Model):
...
(我认为MaintEntity
有其他字段为了简洁起见而被剥离,你将用这些字段替换" ..." ^ _ ^)