Django ForeignKey в той же таблице о том же атрибуте в другой таблице

У меня есть одна модель в моем проекте.

class users(models.Model):
   match_user    = models.ForeignKey(User,on_delete=models.CASCADE)
   matched_user    = models.CharField(max_length=25)

Представьте, что: match_user - "Mete", а matched_user - "Gizem". Также match_user 'Gizem' и matched_user 'Mete' У меня есть 2 строки таблицы:

id       match_user    matched_user
__       __________    ____________
1        mete          gizem
2        gizem         mete

Теперь, если я хочу удалить мету, удаляется только первая строка. Но я хочу удалить 2 строки. На самом деле я хочу, чтобы два внешних ключа о том же месте в другой таблице. Как я могу? Является ли это возможным. Если это невозможно, есть ли решение для моей нужды. Также я попробовал несколько разных способов, как это:

match_user    = models.ForeignKey(User,related_name="username"on_delete=models.CASCADE)`
matched_user    = models.ForeignKey(User,related_name="username",on_delete=models.CASCADE)`

Но есть ошибка все время Спасибо за ответы:)

1 ответ

Решение

Вы можете сделать это, указав разные related_name как,

class MyModel(models.Model):
    match_user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='match_users')
    matched_user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='matched_users')
Другие вопросы по тегам