向现有模型添加字段

Add a field to an existing model

我想向我的 ClientUploads 模型添加一个 created_at 字段。它看起来像这样:

@python_2_unicode_compatible
class ClientUploads(models.Model):

    client = models.OneToOneField(Client)
    #created_at = models.DateTimeField(auto_now_add=True)

    def generate_filename(self, filename):
        name = "uploads/%s/%s" % (self.client.company, filename)
        return name

    file_upload = models.FileField(upload_to=generate_filename)

    def __str__(self):
        return self.client.company

    class Meta:
        verbose_name_plural = _("Client Uploads")
        verbose_name = _("Client Upload")

但是当我添加 created_at 然后提交表单时,我收到该列不存在的错误。我尝试重命名模型,并进行迁移以擦除旧模型并创建另一个模型,其中 created_at 从一开始就存在,但我仍然遇到相同的错误。我怎样才能添加这个字段?或者已经有这样的领域?不管我需要有一个 created_at 字段,但我无法在不破坏表单的情况下找到如何添加它。

根据您发布的代码,您已将 created_at 字段注释掉。您需要取消注释该行(删除前面的 #),然后是 运行 manage.py makemigrations,然后是 manage.py migrate.

删除数据库,然后运行 makemigrations、migrate 和createsuperuser,然后从头开始重新输入数据。我试过冲洗,没有用。 echo "" > dbfile 也有效。