0

モデルを作成し、「syncdb」操作を実行しました。うまく実行されました。また、そのモデルに多くのレコードを挿入してから、前のモデルのM2Mとして接続する必要があるモデルをもう1つ作成しました。

Models.py

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

私はこのモデルを実行し、syncdbを実行しました。また、このモデルの多くのレコードを挿入しました

もう1つモデルを追加します

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関係の背後にある操作を手動で実行したいと思います。

field(business_unit)ここでは、データベースの作成のように、「トピック」に動的に追加されたこのM2M関係に対して手動で実行する必要がある手順は何ですか?索引付け、関係など。

これは、既存のモデルに動的にフィールドを追加する必要がある場合はいつでも簡単です。

4

1 に答える 1

0

を実行すると、Djangoがモデルの作成に使用するSQLを確認できますpython manage.py sqlall <appname>。データベースを変更する最も簡単な方法は、変更を表すSQLを取得し、データベースに対して実行することです。を実行すると、データベースシェルを取得できますpython manage.py dbshell

于 2011-11-10T15:48:15.810 に答える