我正在尝试将M2M字段修改为ForeignKey字段.命令validate显示没有问题,当我运行syncdb时:
ValueError: Cannot alter field xxx into yyy they are not compatible types (you cannot alter to or from M2M fields, or add or remove through= on M2M fields)
Run Code Online (Sandbox Code Playgroud)
所以我无法进行迁移.
class InstituteStaff(Person):
user = models.OneToOneField(User, blank=True, null=True)
investigation_area = models.ManyToManyField(InvestigationArea, blank=True,)
investigation_group = models.ManyToManyField(InvestigationGroup, blank=True)
council_group = models.ForeignKey(CouncilGroup, null=True, blank=True)
#profiles = models.ManyToManyField(Profiles, null = True, blank = True)
profiles = models.ForeignKey(Profiles, null = True, blank = True)
Run Code Online (Sandbox Code Playgroud)
这是我的第一个Django项目,所以欢迎任何建议.
从Django Book的例子中,我了解如果我创建如下模型:
from xxx import B
class A(models.Model):
b = ManyToManyField(B)
Run Code Online (Sandbox Code Playgroud)
Django将在表A之外创建一个新表(A_B),它有三列:
但是现在我想在表A_B中添加一个新列,因此如果我使用普通的SQL会很容易,但现在任何人都可以帮我怎么做?我在本书中找不到任何有用的信息.