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')