我无法决定在 Django 中创建键/值 标记模型的方法更好,
class Tag(models.Model):
tag = models.CharField(max_length=35, unique=True)
description = models.CharField(max_length=250, null=True)
is_key = models.BooleanField(default=False)
parent = models.ForeignKey("self", blank=True, related_name="key")
或
class TagKey(models.Model):
key = models.CharField(max_length=35, unique=True)
description = models.CharField(max_length=250, null=True)
class TagValue(models.Model):
value = models.CharField(max_length=35, unique=True)
description = models.CharField(max_length=250, null=True)
port = models.PositiveIntegerField(default=0)
key = models.ForeignKey(TagKey)
我打算做的就是创建一个键:基于值的标签模型,我可以使用它来标记我的应用程序。
说明:我在标记类中所做的是,当我要添加值标记时,我正在给自己一个自我关系,但如果我添加一个键类型标记,那么我不会填充父字段。
P.S我必须使用自己的标签模型,所以请不要建议第三方 Django 标签应用