django - 如何将唯一模型列表添加到 django 模型
问题描述
我正在开发一个仪表板应用程序,供客户使用 django 和 mariadb 数据库管理他们的设备。我有一个客户端模型(这是扩展用户模型)和代表单个唯一设备的设备模型。一位用户可以拥有多台设备,但一台设备只能分配给一位用户。
现在,在客户端模型中创建一个条目的最佳方法是什么,它将包含他分配的所有设备。Client.devices
重要的是,一个设备(由唯一的设备 ID 表示)在所有表中只能出现一次。
这是可视化我的问题的代码:
class Client(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
devices = <?>
class Device(models.Model):
type = models.PositiveSmallIntegerField(default=0x00)
id = models.PositiveSmallIntegerField(primary_key=True, default=0x00)
user = models.ForeignKey(User, unique=False, on_delete=models.CASCADE)
我觉得答案就在那里,但我不确定其他类似的主题是否符合我的独特性
解决方案
Django 有distinct()
查询子句。要获得分配给客户端的不同设备,请尝试以下操作:
unique_devices = Device.objects.filter(user=client.user).distinct()
这是关于distinct()的官方文档
推荐阅读
- amazon-web-services - 在 Prometheus 监控中,我正在尝试使用 AWS 标签过滤 extraScrapeConfigs
- c++ - 从用户那里获取 4*4 矩阵来测试它是否包含 2*2 子矩阵具有相同的值
- vba - 查找和替换文本并变成超链接
- c - 为什么这个结构赋值在 C 中不起作用?
- solidity - 我如何在不支付 gas 费用的情况下计算solidity 合约的结果?
- javascript - 如何处理未捕获的错误:[nuxt] store/index.js 应该导出一个返回 Vuex 实例的方法
- javascript - 通过 API 删除 DocuSign 中的文档选项卡
- python - 将 DataFrame json 列中的值移动到 DataFrame 行中
- c - C 中结构、位域的 Scanf 输入
- python - 如何从 Dataframe 图中切换线的可见性?