Posso ter um modelo de Django que tem uma referência de chave estrangeira para si?

votos
39

Ok, como eu faria isso?

class Example(models.Model):
  parent_example = models.ForeignKey(Example)

Eu quero ter um modelo de ter uma referência de chave estrangeira para si. Quando tento criar esta eu recebo um erro de validação de Django que Exemplo ainda não está definida.

Publicado 11/02/2009 em 00:12
fonte usuário
Em outras línguas...                            


3 respostas

votos
64

Você deveria usar

models.ForeignKey('self')

como mencionado aqui .

Respondeu 11/02/2009 em 00:19
fonte usuário

votos
13

Sim, basta fazer o seguinte:

class Example(models.Model):
  parent_example = models.ForeignKey('self')
Respondeu 11/02/2009 em 00:17
fonte usuário

votos
0

Você pode fazer isso usando citações demais:

class Example(models.Model):
    parent_example = models.ForeignKey('Example')
Respondeu 31/05/2018 em 18:13
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more