Django select_related返回空查询集如果PK从其他表中删除

pkln4tw6  于 2023-01-18  发布在  Go
关注(0)|答案(1)|浏览(186)

假设我有一个与用户模型有外键关系的表。

class MyModel(models.Model):
       created_user = models.ForeignKey(settings.AUTH_USER_MODEL)

我是这样处理queryset的

qs = MyModel.objects.select_related('created_user').all()

此查询工作正常,但如果用户从数据库中删除,则会显示空查询集

tcbh2hod

tcbh2hod1#

如果您希望示例在删除后受到保护,则可以使用models.PROTECT选项,以便:

class MyModel(models.Model):
       created_user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.PROTECT)

查看ForeignKey.on_delete的所有选项。

相关问题