python - 基于多个关系计数对象
问题描述
我有三个模型;
class User(AbstractUser):
id = UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
class UserProfile(Model):
id = UUIDField(primary_key=True, editable=False)
user = OneToOneField(User, CASCADE)
subscription = CharField(max_length=250, null=True, blank=True)
class Image(Model):
id = UUIDField(primary_key=True, editable=False)
owner = ForeignKey(User, on_delete=CASCADE, null=True)
我想计算所有者订阅不等于字符串(例如“免费”)的所有图像对象。这可能吗?
解决方案
您需要使用跨越关系的查找。
image_count = Image.objects.exclude(owner__userprofile__subscription='free').count()
推荐阅读
- kubernetes - Kubernetes - 不启动 master 角色
- reactjs - 最终表单数组字段异步验证
- asp.net - Asp.Net Grid - 将第一个字符设为 Grid Row 的大写
- java - JAVA 中基于 xsi:type 将 XML 转换为 JSON
- angularjs - 输入字段中的自定义验证以获取唯一值
- mysql - 可以更新可用性的美食广场订购计划的数据库设计
- javascript - JavaScript 设置密码 DIV 值不起作用
- mqtt - 如何从 msg.Payload 获取字符串并使用它?
- vector - 如何在 vhdl 中生成随机 Std_logic_vector?
- cmake - 如何以非交互方式配置 CMake 构建?