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

问题描述 投票:0回答:1

我的项目中有一个模型。

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

想象一下:match_user是'Mete'而match_user是'Gizem'。 match_user是'Gizem'而match_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)`

但是一直有错误谢谢你的答案:)

django django-models django-queryset django-database django-related-manager
1个回答
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')
© www.soinside.com 2019 - 2024. All rights reserved.