【问题标题】:Django ORM Query: How to get record that Not Exist in other tableDjango ORM查询:如何获取其他表中不存在的记录
【发布时间】:2023-03-26 21:54:01
【问题描述】:

如何在 Django ORM 中实现 Raw SQL 查询?:dbfiddle。

所以我有 2 个表,表 user 和 payment,我需要获取在 payment 表中没有记录的 user_id(见预期结果):

模型.py

class User(models.Model):
    nama_lengkap = models.CharField(max_length=50)
    
class Status_Pembayaran(models.Model):
    user = models.ForeignKey(User, on_delete=models.PROTECT, null=True)
    amount = models.DecimalField(max_digits=1000000, decimal_places=2, 

User table:

Payment table:

Result Expected

【问题讨论】:

标签: django django-models orm django-orm


【解决方案1】:

您可以使用以下方式过滤:

User.objects.filter(<b>status_pembayaran=None</b>)

或更详细:

User.objects.filter(<b>status_pembayaran__isnull=True</b>)

【讨论】:

    【解决方案2】:

    在这里找到答案:https://stackoverflow.com/a/14105717/7664493

    inner_qs = Payment.objects.all()
    results = User.objects.exclude(id__in=inner_qs)
    
    

    【讨论】:

      猜你喜欢
      • 2012-04-14
      • 2018-07-13
      • 2014-09-09
      • 2022-01-22
      • 2017-04-02
      • 2019-07-05
      • 1970-01-01
      • 1970-01-01
      • 2020-12-09
      相关资源
      最近更新 更多