同一张表中的Django ForeignKey关于不同表中的相同属性

时间:2018-08-31 23:28:43

标签: django django-models django-queryset django-database django-related-manager

我的项目中只有一个模型。

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

现在,如果ı要删除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 :(得分: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')