草庐IT

在团队中工作时 Django South 迁移冲突

我有一个关于在团队中工作时如何使用Django-South的简短问题。如果两个人同时根据对同一文件的更改创建迁移文件会怎样?例如,A和B正在开发同一个Django应用程序。他们在不同的分支工作,都在迁移005。现在,A和B都修改了apple/models.py并使用startmigration创建了迁移文件。他们都在迁移006但迁移文件006完全不同。我猜当他们merge他们的分支时,South可能有一些错误。是否有解决此冲突的解决方法?还是South足够聪明,可以自行解决? 最佳答案 南方的documentation讨论这个问题:

python - Django South 错误 : AttributeError: 'DateTimeField' object has no attribute 'model' `

所以我试图通过添加两列来迁移一个表。一个startDate和一个endDate。对Django使用south,这应该是一个简单的迁移。我还有很多其他带有dateTimes的表,但由于某种原因,我在这里得到并发布,但我没有看到它。堆栈跟踪说明:AttributeError:'DateTimeField'objecthasnoattribute'model'这是我要迁移的模型:#KeeptrackofwhohasappliedforaJobclassJobApply(models.Model):job=models.ForeignKey(Jobs)user=models.ForeignKe

python - Django South 错误 : AttributeError: 'DateTimeField' object has no attribute 'model' `

所以我试图通过添加两列来迁移一个表。一个startDate和一个endDate。对Django使用south,这应该是一个简单的迁移。我还有很多其他带有dateTimes的表,但由于某种原因,我在这里得到并发布,但我没有看到它。堆栈跟踪说明:AttributeError:'DateTimeField'objecthasnoattribute'model'这是我要迁移的模型:#KeeptrackofwhohasappliedforaJobclassJobApply(models.Model):job=models.ForeignKey(Jobs)user=models.ForeignKe

python - 如何使用 django-south 恢复删除的表?

我想清除数据库中的一个表,所以我删除了该表。通常我会做manage.pysyncdb来重新创建它。然而,答案here说不再使用syncdb了。那么,我该怎么做呢? 最佳答案 这是一个相当晚的回应,但对于会遇到同样问题的人(就像我一样)。通常要删除由south管理的应用程序的db_tables,您应该使用:pythonmanage.pymigrateappnamezero但是,如果您将它们手动放入数据库中,请让南知道它pythonmanage.pymigrateappnamezero--fake当然还要重新创建表格pythonmana

python - 如何使用 django-south 恢复删除的表?

我想清除数据库中的一个表,所以我删除了该表。通常我会做manage.pysyncdb来重新创建它。然而,答案here说不再使用syncdb了。那么,我该怎么做呢? 最佳答案 这是一个相当晚的回应,但对于会遇到同样问题的人(就像我一样)。通常要删除由south管理的应用程序的db_tables,您应该使用:pythonmanage.pymigrateappnamezero但是,如果您将它们手动放入数据库中,请让南知道它pythonmanage.pymigrateappnamezero--fake当然还要重新创建表格pythonmana

python - Django South - 将 null=True 字段转换为 null=False 字段

我的问题是,使用DjangoSouth将null=True字段转换为null=False字段的最佳做法是什么。具体来说,我正在使用ForeignKey。 最佳答案 你应该先写一个数据迁移:http://south.aeracode.org/docs/tutorial/part3.html然后进行模式迁移。 关于python-DjangoSouth-将null=True字段转换为null=False字段,我们在StackOverflow上找到一个类似的问题: h

python - 使用 south 重命名 django 模型类名和相应的外键,而不会丢失数据

以下是我的模型:classmyUser_Group(models.Model):name=models.CharField(max_length=100)classChannel(models.Model):name=models.CharField(max_length=100)description=models.CharField(max_length=1000)belongs_to_group=models.ManyToManyField(myUser_Group)classVideo(models.Model):video_url=models.URLField(max_le

python - 使用 South AND django 1.7 迁移的可重用应用程序的升级路径

或者:Django1.7用户还能使用South吗?我是可重用应用程序的维护者。我们的政策是始终支持最新的两个版本的Django。我们有大量的南方迁移,我们希望支持新的Django1.7迁移系统。我感到困惑的是如何让开发人员将我的应用程序与Django1.6(和South)和Django1.7(新迁移)一起使用。Django文档推荐justdeletingallthepre-existingSouthmigrations.但这不是一个选择,因为我需要为我的Django1.6用户保留它们。我能想到的最接近升级路径的方法是,在我的应用程序中放弃对Djangopythonmanage.pymi

python - 使用Django South从具体继承走向抽象继承

我有一个现有的Django项目,它有几个使用基类具体继承的模型。经过仔细考虑,并阅读了JacobKaplan-Moss喜欢什么人之后havetosayaboutit,在我的例子中不需要使用这种具体的继承。我想改用抽象基类。让事情变得复杂的是我的网站是实时的并且我有用户输入的数据。因此,我需要在整个过渡期间保持所有数据完好无损。我举一个更具体的例子:之前:app1/models.py:classModel1(base_app.models.BaseModel):field1=models.CharField(max_length=1000)field2=models.CharField(

python - South 忽略 Python/Django 中字段默认值的变化

为什么South无法识别Python模型中默认字段值的变化?例如,以这个向南迁移的现有模型为例:classMyFamily(models.Model):family_size=models.IntegerField(verbose_name="Whatisyourfamilysize?",default=2)现在,我想将默认值从二更改为四。然而,当schemamigrating模块时,South报告:pythonmanage.pyschemamigrationfamily--autochange_default_from_two_to_four_for_sizeRunningmigra