在django中动态添加ManyToMany字段

时间:2011-11-10 13:42:54

标签: django django-models django-syncdb django-orm

我创建了一个模型并完成了" syncdb"操作。它执行得很好。此外,我已经为该模型插入了许多记录,然后我创建了另一个模型,需要将其作为M2M连接到之前的模型。

Models.py

class Topic(models.Model):
      name = models.CharField(max_length=200)
      description = models.TextField()

我已完成此模型并执行了syncdb,我也为此模型插入了许多记录

我正在添加一个模型

class BusinessUnit(models.Model):
      name = models.CharField(max_length=300)
      user = models.OneToOneField(User,primary_key=True)

然后,我设计了主题'对于要求

class Topic(models.Model):
  name = models.CharField(max_length=200)
  description = models.TextField()
  business_unit = models.ManyToManyField(BusinessUnit)

在这里,我想手动完成此动态M2M关系的操作。

这里我需要手动为这个动态添加的M2M关系field(business_unit)在主题'中做些什么?喜欢创建dbs?索引,关系等。?

每当我需要为现有模型动态添加一些字段时,这很容易吗?

1 个答案:

答案 0 :(得分:0)

您可以通过运行python manage.py sqlall <appname>来查看Django用于创建模型的SQL。更改数据库的最简单方法是获取代表您的修改的SQL并对数据库运行它;您可以通过运行python manage.py dbshell来获取数据库shell。