gpt4 book ai didi

python - Django - syncdb 不创建表

转载 作者:太空狗 更新时间:2023-10-29 20:38:10 28 4
gpt4 key购买 nike

我向现有模型添加了一个多对多字段,并期望 syncdb 创建一个新表,但那里什么也没有。这是模型的样子:

class Author(models.Model):
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
email = models.EmailField()

def __unicode__(self):
return "{0} {1}".format(self.first_name, self.last_name)

class Book(models.Model):
title = models.CharField(max_length=100)
authors = models.ManyToManyField(Author)

def __unicode__(self):
return self.title

运行 sql myapp 会使用新表打印正确的语句,但是当我运行 syncdb 时并没有反射(reflect)出来。 validate 也没有返回任何错误。有谁知道这里可能是什么问题?还是更好的诊断?

最佳答案

syncdb 命令不会按设计为现有模型创建多对多表。此决定在 ticket 2229 上解释.

这给您留下了几个选择。

  • 如果您的 Book 模型中没有任何数据,请删除该表并重新运行 syncdb。 Django 将重新创建 book 表和多对多表。
  • 使用 dbshel​​l 命令,并使用 sql myapp 的输出创建多对多连接表。
  • 如果您正在使用 Django 进行多模式迁移,请与 South 成为 friend .

关于python - Django - syncdb 不创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14016064/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com