向现有模型添加字段
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
也有效。
我想向我的 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
也有效。