これはmodels.pyのコードです
class Package(models.Model):
name=models.CharField(max_length=300)
version=models.CharField(max_length=300,blank=True)
home_page=models.URLField(blank=True)
summary=models.TextField()
description=models.TextField(blank=True)
keywords=models.TextField(blank=True)
categories=models.ManyToManyField(Category,related_name='packages')
class Category(models.Model):
topic=models.ForeignKey(Package, related_name="categories")
syncdb を実行しようとすると、「NameError カテゴリが定義されていません」と表示されます。最初にクラス カテゴリを配置し、次にパッケージを配置しようとすると、「NameError 名パッケージが定義されていません」と表示されます。
この問題から私を助けてください。
EDIT:私がデータベースで知っていることについての知識がほとんどないため、助けてくれてありがとう、ここのチュートリアルは間違っているよう ですhttp://toys.jacobian.org/presentations/2007/pycon/tutorials/beginning/ in Packages は多対多で、Category トピックのフィールドは Package への外部キーになりますが、外部キーは多対 1 の関係であるため、実装に問題があります。django は、「フィールド 'topic' のアクセサが m2m フィールド 'Package.categories' と衝突する」という方法でそれを伝えようとしていると思います。フィールド 'topic' の逆引きクエリ名が m2m フィールド ' " と競合しています 正しいですか?