sách gpt4 ai đã đi

django - 在事件应用程序上将数据从一个 django 模型移动到另一个(django+south)

In lại 作者:行者123 更新时间:2023-12-02 06:38:06 29 4
mua khóa gpt4 Nike

我正在尝试将一些字段从一个 django 模型移动到一个新模型。假设我有一个书籍模型:

class Book(models.Model):
title = models.CharField(max_length=128)
author = models.CharField(max_length=128)

我决定需要为作者提供一个单独的模型(以添加额外的数据等)。因此,请记住我有一个正在运行的充满数据的应用程序,保持兼容性的所需布局将是:

class Author(models.Model):
name = models.CharField(max_length=128, null=True) # null at first; filled with datamigration
nationality = models.CharField(max_length=64, null=True) # we don't have nationality for existing authors, but we'll ask the new ones

class Book(models.Model):
title = models.CharField(max_length=128)
author_model = models.ForeignKey(Author, null=True)
@property
def author(self):
return self.author_model.name
@author.setter
def author(self, newval):
self.author_model.name = newval
这样,我必须创建添加作者的架构迁移,然后创建数据迁移来传输数据并填充书籍的author_model_id,最后创建数据迁移以从“书籍”表中删除“作者”列。问题是,将 Book.author 从字段更改为属性后,我的迁移是否有效?我的意思是,如果在之前的一次迁移中 South 尝试访问 Book.author (需要 CharField),它实际上会获得一个尝试获取不存在模型的属性。怎样做才是正确的?

1 Câu trả lời

我首先会在一次迁移中将author CharField 重命名为author_str,然后添加新模型并进行数据迁移,然后删除author_str 字段。

Django - How to rename a model field using South?

关于django - 在事件应用程序上将数据从一个 django 模型移动到另一个(django+south),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16334174/

29 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com