Como posso ter duas foreign keys para o mesmo modelo no Django?

Eu quero ter duas foreign keys para o mesmo modelo:

class Test(models.model): example1 = models.ForeignKey(Example) example2 = models.ForeignKey(Example) 

Eu recebo erros como:

O acessador para o campo ‘exemplo1’ se choca com o campo relacionado ‘Example.test_set’. Adicione um argumento related_name à definição de ‘example1’.

O Django usa alguma mágica python para definir os relacionamentos entre os modelos, alguns dos quais envolvem o uso dos nomes dos modelos nos relacionamentos (é de onde vem o ‘teste’ no ‘test__set’.) O que está acontecendo, eu acho, é que é tentando colocar “test__set” no modelo de exemplo duas vezes, uma vez para cada chave estrangeira que você definiu.

A mensagem de erro sugere algo para tentar: definir um argumento related_name (sobrescrevendo um daqueles ‘test_set’s’) que ele pode usar em vez de gerar automaticamente dois nomes conflitantes.

Mais informações aqui : a página foi removida

Página atual que se relaciona aos relacionamentos modelo: https://docs.djangoproject.com/en/2.0/ref/models/fields/#module-django.db.models.fields.related

Tente usar related_name :

 class Test(models.model): example1 = models.ForeignKey('Example', related_name='example1') example2 = models.ForeignKey('Example', related_name='example2') 

Basta fazer o que a mensagem de erro lhe diz para fazer e, se não tiver certeza do que isso significa, consulte a documentação de related_name .

No django 2.0 Tente isto:

 user = models.ForeignKey(User, on_delete=models.PROTECT, null=True, related_name='user') paper = models.ForeignKey(paperRecord, on_delete=models.PROTECT, null=True, related_name='paper')