我对 django 默认身份验证模型模板进行了更改。我在现有的默认身份验证表中添加了一个新列。
因此,从我的项目的 models.py 中,我对 django auth 模型进行了更改,该模型存在于 django.contrib.auth.models.py
所以现在更改存储在迁移文件中,该文件存在于我的本地文件中,因为 contrib.auth/migration 文件夹存在于本地。
现在的问题是,一旦执行 make migrations 和 migrate cmd,它就会在我的本地电脑上正确反映,但是当我想导出代码时,当然这个迁移文件不会被推送,并且主服务器不会运行这2个cmd因为它会自动从迁移文件中读取它以避免将来的任何损失,所以我如何将它放在主服务器上以便它可以实现并且人们可以开始看到更改。
谢谢你🙌🏻
唯一的事情是服务器不运行任何命令,例如 makemigrations 和 migrate,并且在特定位置手动存储文件也没有帮助。
您永远不应该对包本身进行更改。相反,您应该导入它们的类、方法等,并在本地项目文件中覆盖它们。
假设您将更改用户模型,您将导入用户类并覆盖它:
from django.contrib.auth.models import AbstractUser
class User(AbstractUser):
# your changes goes here
然后稍后引用这个被覆盖的类而不是原来的类。
请检查 Django 文档 以了解此特定情况。