Django ORM:查看一个模型在另一个模型中是否没有外键条目

问题描述

| 因此,我有这2个模型:
class Site(models.Model):
    ...
    ...
还有一个:
class SiteInfo(models.Model):
    ...
    ...
    site = models.ForeignKey(Site)
有没有办法获取SiteInfo中没有条目的站点?     

解决方法

Site.objects.filter(siteinfo__isnull=True)
    ,有一种通用的方法可以找到模型中所有反向关系的列表。
reverse_model_array = [f.related_model for f in model._meta.get_fields() 
if f.auto_created and not f.concrete]
这将列出与此模型相关的所有模型(外键,多对多键等)     ,我认为这会奏效,但效率不高: with_no_site_info = [如果site.site_infos_set.all()。count()== 0,则为Site.objects.all()中站点的站点]     

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...