【问题标题】:How to delete Many-Many relationship between two models Django如何删除两个模型Django之间的多对多关系
【发布时间】:2015-10-27 19:38:24
【问题描述】:
class Question(models.Model):
      q_title = models.CharField(max_length=500)
      q_user = models.ForeignKey(MyUser, null=False, blank=False)
      q_slug = models.SlugField(null=True, blank=True)
      q_category=  models.ManyToManyField('Categories',null=True,blank=True)

class Categories(models.Model):
    category = models.CharField(max_length=200)

如何从问题模型中删除 q_category。它给了我错误“无法将字段 questions.Question.q_category 更改为 questions.Question.q_category - 它们不是兼容的类型(您不能更改 M2M 字段或从 M2M 字段更改,或在 M2M 字段上添加或删除 through=)”

【问题讨论】:

  • 你改变了 through 参数对吗?

标签: django django-models django-orm


【解决方案1】:

如果您在开始时仍在开发中,只需删除您的数据库、删除您的迁移并从问题模型中删除 q_cateregory 并再次重新创建数据库:运行 makemigrations、迁移和同步。

否则,请从阅读以下内容开始:https://docs.djangoproject.com/en/1.8/ref/migration-operations/

【讨论】:

  • 感谢您的解决方案。我删除了所有应用程序中的迁移并进行了虚假迁移。这解决了我的问题。
猜你喜欢
  • 1970-01-01
  • 2011-04-22
  • 2021-10-24
  • 2010-12-21
  • 1970-01-01
  • 2017-06-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多