【问题标题】:Django ForeignKey in same table about same attribute in different tableDjango ForeignKey在同一个表中关于不同表中的相同属性
【发布时间】:2019-02-06 23:15:51
【问题描述】:

我的项目中有一个模型。

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

但总是有错误 感谢您的回答:)

【问题讨论】:

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


【解决方案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')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-31
    • 2017-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-20
    • 1970-01-01
    相关资源
    最近更新 更多