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就是外键表文章来源:https://www.toymoban.com/news/detail-590644.html
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()方法,以实现复杂的查询条件文章来源地址https://www.toymoban.com/news/detail-590644.html
# 在查询时,可以将Q对象作为参数传递给filter()方法,以实现复杂的查询条件
from django.db.models import Q
# 查询名字为'John'或年龄大于25的数据
results = MyModel.objects.filter(Q(name='John') | Q(age__gt=25))
到了这里,关于django中的model的一些笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!