私は一般的にwebappsやデータベース関連のものに慣れていないので、これは愚かな質問かもしれません。モデルの別のインスタンス(その親)のプライマリIDを指すフィールドを持つモデル( "CategoryModel")を作成します。
class CategoryModel(models.Model):
parentId = models.ForeignKey(CategoryModel)
どうすればいいですか?ありがとう!
ForeignKeyに文字列としてモデルの名前を渡すことができ、それは正しいことをします。
そう:
parentId = models.ForeignKey("CategoryModel")
または、文字列「self」を使用できます
parentId = models.ForeignKey("self")
文字列「self」を使用して、自己参照を示すことができます。
class CategoryModel(models.Model):
parentId = models.ForeignKey('self')
https://docs.djangoproject.com/en/dev/ref/models/fields/#foreignkey
https://books.agiliq.com/projects/Django-orm-cookbook/en/latest/self_fk.html
class Employee(models.Model):
manager = models.ForeignKey('self', on_delete=models.CASCADE)
OR
class Employee(models.Model):
manager = models.ForeignKey("app.Employee", on_delete=models.CASCADE)
https://stackabuse.com/recursive-model-relationships-in-Django/