相同 table 中的 Django ForeignKey 关于不同 table 中的相同属性
Django ForeignKey in same table about same attribute in different table
我的项目中有一个模型。
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 table 行:
id match_user matched_user
__ __________ ____________
1 mete gizem
2 gizem mete
现在如果我想删除表,只删除第一行。但是我想删除 2 rows.Actually 我想在不同 table 中删除关于相同位置的两个外键。我怎么能?可能吗。 İf 这是不可能的,有什么解决方案可以满足我的需求。
我也尝试了一些不同的方式:
match_user = models.ForeignKey(User,related_name="username"on_delete=models.CASCADE)`
matched_user = models.ForeignKey(User,related_name="username",on_delete=models.CASCADE)`
但是一直有错误
感谢您的回答:)
您可以通过指定不同的 related_name
来实现,
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>)
我的项目中有一个模型。
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 table 行:
id match_user matched_user
__ __________ ____________
1 mete gizem
2 gizem mete
现在如果我想删除表,只删除第一行。但是我想删除 2 rows.Actually 我想在不同 table 中删除关于相同位置的两个外键。我怎么能?可能吗。 İf 这是不可能的,有什么解决方案可以满足我的需求。 我也尝试了一些不同的方式:
match_user = models.ForeignKey(User,related_name="username"on_delete=models.CASCADE)`
matched_user = models.ForeignKey(User,related_name="username",on_delete=models.CASCADE)`
但是一直有错误 感谢您的回答:)
您可以通过指定不同的 related_name
来实现,
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>)