Django ForeignKey в той же таблице о том же атрибуте в другой таблице - PullRequest
0 голосов
/ 01 сентября 2018

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

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 Ответ

0 голосов
/ 01 сентября 2018

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

class MyModel(models.Model):
    match_user = models.ForeignKey(User, on_delete=models.CASCADE, <b>related_name='match_users'</b>)
    matched_user = models.ForeignKey(User, on_delete=models.CASCADE, <b>related_name='matched_users'</b>)
...