我對web應用程序和數據庫的東西是一般的新東西,所以這可能是一個愚蠢的問題。我想創建一個模型(「CategoryModel」),該模型的字段指向模型的另一個實例(其父)的主ID。Django自引用外鍵
class CategoryModel(models.Model):
parentId = models.ForeignKey(CategoryModel)
我該怎麼做?謝謝!
我對web應用程序和數據庫的東西是一般的新東西,所以這可能是一個愚蠢的問題。我想創建一個模型(「CategoryModel」),該模型的字段指向模型的另一個實例(其父)的主ID。Django自引用外鍵
class CategoryModel(models.Model):
parentId = models.ForeignKey(CategoryModel)
我該怎麼做?謝謝!
您可以將模型的名稱作爲字符串傳遞給ForeignKey,它會做正確的事情。
所以:
parentId = models.ForeignKey("CategoryModel")
或者你也可以使用字符串「自我」
parentId = models.ForeignKey("self")
您可以使用字符串「自我」,表示自參考。
class CategoryModel(models.Model):
parentId = models.ForeignKey('self')
https://docs.djangoproject.com/en/dev/ref/models/fields/#foreignkey
或者只是使用'self' – 2013-03-08 02:27:38
前者似乎並不爲CategoryModel類的工作還沒有定義,但後者一樣。 (Django 1.5.4)我做錯了什麼? – szabgab 2013-10-22 17:07:32
@szabgab一旦模型名稱作爲字符串傳遞,它就可以工作。 – Vaughan 2017-10-22 21:20:08