django中的model的一些笔记

python 复制代码
class WarehouseRecordDetail(models.Model):
    warehouse_record = models.ForeignKey(WarehouseRecord, verbose_name=u"出入库记录",related_name='warehouse_record_detail_ref_warehouse_record', on_delete=models.PROTECT)
    warehouse_stock_record = models.ForeignKey(WarehouseStockRecord, verbose_name=u"库存记录", related_name='warehouse_record_detail_ref_stock_record',on_delete=models.PROTECT)
    count = models.DecimalField(verbose_name=u"数量", max_digits=20, decimal_places=4)

    class Meta:
        db_table = "product_warehouse_record_detail"
        verbose_name = u"库存查询"
        ordering = ('-id',)
        default_permissions = ()
        permissions = (# 产品仓别出入库记录明细
            ("view_consumable_stock", u"浏览"),
            ("export_consumable_stock", u"导出"),
            ("view_consumable_stock_log", u"查看动态"),
        )

model中外键关联中的related_name属性,可以在外键表中作为筛选条件,也就是反过来在外键表中使用。例如下面的使用WarehouseStockRecord就是外键表

python 复制代码
WarehouseStockRecord.objects.filter(product__type=product_type,warehouse_record_detail_ref_stock_record__warehouse_record__type__in=[0, 1,2]).order_by('-id')                                                                                                              

2.django中的Q()对象用于构建复杂查询条件的工具

在查询时,可以将Q对象作为参数传递给filter()方法,以实现复杂的查询条件

python 复制代码
# 在查询时,可以将Q对象作为参数传递给filter()方法,以实现复杂的查询条件
from django.db.models import Q

# 查询名字为'John'或年龄大于25的数据
results = MyModel.objects.filter(Q(name='John') | Q(age__gt=25))
相关推荐
图灵-M19 分钟前
【数据结构】静态 & 动态顺序表
c语言·数据结构·笔记
忘了ʷºᵇₐ1 小时前
Git学习笔记
笔记·git·学习
Zhao-Jichao2 小时前
AI Prompting for Everyone 课程笔记 - 04 联网搜索资源 Web Search Sources
人工智能·笔记
金色光环2 小时前
【DSP学习】C2000_PWM中断程序_笔记
笔记·单片机·学习
東隅已逝,桑榆非晚2 小时前
AVL数实现
c++·笔记·学习·算法
摇滚侠3 小时前
《大模型是怎样跑起来的(轻科技)》硬件篇 阅读笔记
人工智能·笔记·科技
职豚求职小程序4 小时前
百联集团校招在线测评~IQCAT行测+MAP性格
笔记
叼烟扛炮4 小时前
Linux 学习笔记(四十五):Web 安全基石——Cookie、Session 与 HTTPS 原理解析
linux·前端·网络·笔记·学习·tcp/ip·安全
zhangrelay4 小时前
Arduino-MEGA-ESP单片机理论课笔记-01入门-02硬件-03开发环境-2026
笔记·单片机·嵌入式硬件·学习·机器人
tianbin9114 小时前
Claude Code 用户的中转站实战笔记:接入、压测与避坑
笔记