python - django makemigrations 中的操作错误 1050 错误“表已存在”
问题描述
嗨,无论我尝试更改我的模型或尝试迁移,我都会使用 mysql 和 django 1.8.6
每次我进行迁移时都会出现操作错误 1050 错误“表 'products_myproducts' 已存在”
class Product(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL)
managers = models.ManyToManyField(settings.AUTH_USER_MODEL,related_name="managers_product",blank=True)
media = models.ImageField(blank=True,null=True,
upload_to=download_media_location,
storage=FileSystemStorage(location=settings.PROTECTED_ROOT))
title = models.CharField(max_length=30)
description = models.TextField(default='',blank=True)
slug= models.SlugField(blank=True,unique=True)
price = models.DecimalField(max_digits=60,decimal_places=2,default=9.99)
sale_active = models.BooleanField(default=False)
sale_price = models.DecimalField(max_digits=60,decimal_places=2,default=6.99,null=True,blank=True)
def __str__(self):
return self.title
也适用于我的产品
class MyProducts(models.Model):
user = models.OneToOneField(settings.AUTH_USER_MODEL)
products = models.ManyToManyField(Product,blank=True)
def __str__(self):
return "%s" %(self.products.count())
class Meta:
verbose_name = "My Products"
verbose_name_plural = "My Products"
解决方案
当您从应用程序中删除迁移目录而不删除数据库表时,会导致此错误。
如果数据库上的数据很重要,只需备份表单数据,然后删除数据库表。
然后从每个应用程序和 makemigration 中删除所有迁移目录,然后再次迁移并导入您的数据。
推荐阅读
- java - eclipse中的调试模式确实跳过断点并执行程序
- javascript - 如何在同一对象间隔中使用 amcharts 在甘特图中显示数据
- android - 奇怪的while循环行为
- firebase - 将电子邮件重新用于 Firebase 身份验证开发目的
- uikit - 如何在 SwiftUI 视图中包装 UIBarButtonItem?
- amazon-s3 - 如何将文件上传到 node.js 中 AWS s3 存储桶中的特定文件夹
- c++ - 为什么从 constexpr 引用生成的汇编代码与 constexpr 指针不同?
- android - Android Kotlin:未解决的参考
- angular - 角解析器未经授权的调用
- c# - 井字游戏的 Minimax 算法进入无限递归循环