如何避免使用过多的外键django

时间:2017-01-03 10:13:50

标签: django

我只想在条目模型中存储标签数据

条目

  • title
  • content
  • 标记

标签应该是Array但是ArrayField不能移植到其他数据库。我想使用便携式替代品。

1 个答案:

答案 0 :(得分:2)

便携式替代方案是使用适当的关系模式 - 在这种情况下是多对多关系,在django模型中命名为models.ManyToManyField.

class Tag(models.Model):
    label = models.CharField(...)



class Entry(models.Model):
    # ...
    tags = models.ManyToManyField(Tag)

如果您想保留每个条目的标签排序,您需要一个中间模型来存储它,cf https://docs.djangoproject.com/en/1.10/topics/db/models/#intermediary-manytomany