program story

장고에서 동일한 모델에 대한 foreignKey를 만들 수 있습니까?

inputbox 2021. 1. 6. 08:17
반응형

장고에서 동일한 모델에 대한 foreignKey를 만들 수 있습니까?


이 모델이 있다고 가정합니다.

class Task(models.Model):
    title = models.CharField()

이제 작업이 다른 작업과 관련 될 수 있기를 바랍니다. 그래서 이것을하고 싶었습니다.

class Task(models.Model):
    title = models.CharField()
    relates_to = ForeignKey(Task)

그러나 작업이 메모 정의되어 있음을 나타내는 오류가 있습니다. 이것이 "합법적"입니까? 그렇지 않은 경우 이와 유사한 작업을 어떻게해야합니까?


class Task(models.Model):
    title = models.CharField()
    relates_to = models.ForeignKey('self')

https://docs.djangoproject.com/en/dev/ref/models/fields/#foreignkey


예, 그렇게 할 수 있습니다. ForeignKey 속성을 문자열로 만듭니다.

class Task(models.Model):
    title = models.CharField()
    relates_to = ForeignKey('Task')

심층적으로 점 표기법을 사용하여 앱의 모델을 상호 참조 할 수도 있습니다.

class Task(models.Model):
    title = models.CharField()
    relates_to = ForeignKey('<app_name>.Task')  # e.g. 'auth.User'

참조 URL : https://stackoverflow.com/questions/11214175/can-i-make-a-foreignkey-to-same-model-in-django

반응형