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))
相关推荐
markfeng84 天前
Python+Django+H5+MySQL项目搭建
python·django
西岸行者5 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
QQ4022054965 天前
Python+django+vue3预制菜半成品配菜平台
开发语言·python·django
百锦再5 天前
Django实现接口token检测的实现方案
数据库·python·django·sqlite·flask·fastapi·pip
starlaky5 天前
Django入门笔记
笔记·django
QQ5110082855 天前
python+springboot+django/flask的校园资料分享系统
spring boot·python·django·flask·node.js·php
勇气要爆发5 天前
吴恩达《LangChain LLM 应用开发精读笔记》1-Introduction_介绍
笔记·langchain·吴恩达
WeiXin_DZbishe5 天前
基于django在线音乐数据采集的设计与实现-计算机毕设 附源码 22647
javascript·spring boot·mysql·django·node.js·php·html5
B站计算机毕业设计超人5 天前
计算机毕业设计Django+Vue.js高考推荐系统 高考可视化 大数据毕业设计(源码+LW文档+PPT+详细讲解)
大数据·vue.js·hadoop·django·毕业设计·课程设计·推荐算法
计算机程序猿学长5 天前
大数据毕业设计-基于django的音乐网站数据分析管理系统的设计与实现(源码+LW+部署文档+全bao+远程调试+代码讲解等)
大数据·django·课程设计