假设我有两个模型类:
class Project(models.Model):
title = models.CharField(max_length=50)
tag = models.ManyToManyField('Tags')
class Tags(models.Model):
tag = models.CharField(max_length=20)
并且
class Project(models.Model):
title = models.CharField(max_length=50)
class Tags(models.Model):
tag = models.CharField(max_length=20)
projects = models.ManyToManyField(Project)
这两个实现是否相同?
或者我是否需要在两个类中声明ManyToManyField
?
OneToOneField
怎么样?
谢谢!
答案 0 :(得分:1)
这些实现的唯一区别是链接表的名称:在第一个中,它将被称为“myapp_project_tags”,在第二个“myapp_tags_project”中。在任何一种情况下,您都可以通过明确定义through
模型来覆盖它。
OneToOneFields是不同的,因为它们实际上是模型上的字段,因此它们必须位于一侧或另一侧。