这是什么错误: 您不能在m2m字段之间来回更改,也不能通过= 2m字段来添加或删除
Class post(models.Model):
Title=models.CharField(max_length=50)
Class cat_child(midels.Model):
name=models.CharField(max_length=50)
post=models.ManyToManyField(Post)
cat_parent=models.ForeignKey('Cat_Parent',on_delete=models.CASCADE)
Class cat_parent(models.Model):
name = models.CharField(max_length = 50)
那是为什么?
答案 0 :(得分:0)
Django默认情况下会创建一个中间表,但是如果要手动指定一个中间表,则必须通过ManyToManyField进行操作(指中间表)
class Category(models.Model):
Name=models.CharField(max_length=50)
post=models.ManyToMany(Post, through='PostCat')
然后像这样指定中间表。
唯一的变化是将through = 'PostCat'
添加到ManyToMany中,其中PosCat是所引用的中间表。
您可以在文档中找到更多信息,但是基本上,这是解决方案: https://docs.djangoproject.com/en/2.1/topics/db/models/