私自身の中間モデルを作成する必要があります。djangoでauto_created属性を正しく使うには?
はAttributeError:次のコードでは、私はエラーがあったので私が使用
class class1(models.Model)
class class2(models.Model):
field1 = models.ManyToManyField(class1, through="class3")
class class3(models.Model):
field1 = models.ForeignKey(class1)
field2 = models.ForeignKey(class2)
field3 = models.IntegerField()
class Meta:
auto_created = True
は「=真auto_created」仲介モデルを指定するのManyToManyFieldに()を追加使用できません。
for m2m_field in self._meta.many_to_many:
for m2m_link in getattr(self, m2m_field.get_attname()).all():
getattr(to_object, m2m_field.get_attname()).add(m2m_link)
今では正常に動作しますが、私はmakemigrationをしようとすると、Djangoは私のClass3の(中間クラス)を削除したい、とclass2のにフィールド1の「スルー」属性を削除します。
私は間違っていますか?どんな解決策ですか?
Tks all。
私はまったく同じ問題を抱えています。私の解決策です(ref:https://stackoverflow.com/questions/28693691/how-to-fake-migrations-for-not-to-create-a-specific-existing -intermediary-table) "makemigrations"を実行して自動生成されたスクリプトを取得し、そこに適用されているメソッドを適用解除して適用解除することで、 "migrate"コマンドを実行するとその操作は実行されません。 – user3099733