Django ORM 查询:如何获取其他 table 中不存在的记录

Django ORM Query: How to get record that Not Exist in other table

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

所以我有 2 个 table、Table userpayment,我需要获取在 [= 中没有记录的 user_id 14=] table(见预期结果):

Models.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

在这里找到答案:

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

您可以过滤:

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

或更详细:

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