Django Администратор имеет 2 внешних ключа для той же модели - PullRequest
0 голосов
/ 21 января 2020

В настоящее время у меня есть модель переноса, как указано ниже:

class Transfers(models.Model):
    class Meta:
        db_table = "transfers"
        verbose_name = 'Transfer'
        verbose_name_plural = 'Transfers'
user = models.ForeignKey("backend.User", null=True, blank=True, related_name='user_transfer', on_delete=models.CASCADE)

to_account = models.ForeignKey("backend.User", null=True, blank=True, related_name='user_transfer_to_account', on_delete=models.SET_NULL)

Необходимо, чтобы объект переноса передавался от одного пользователя другому, поэтому мне нужно использовать ту же модель пользователя

И в моем администраторе та же модель:

<class 'backend.admin.TransfersInline'>: (admin.E202) 'backend.Transfers' has more than one ForeignKey to 'backend.User'

Мой вопрос: как заставить TransfersInline использовать внешний ключ из поля user вместо поля to_account? (Transfer Inline будет иметь весь объект Transfer, который находится в поле пользователя)

1 Ответ

1 голос
/ 21 января 2020

Используйте опцию fk_name='user' для TransfersInline класса.

проверьте документы: https://docs.djangoproject.com/en/3.0/ref/contrib/admin/#working -с-моделью-с двумя или более внешними ключами к -же-родитель-модель

...