Django Model运行时关联表

场景

现在数据库中,有些表 每个商户单独存一张表,例如支付表payment_xxx,payment_yyy,payment_zzz分表标示3个商户的支付记录,在记录数据的时候,采用了原生的sql记录,后来在做报表的时候,总是觉得,要是可以用ORM就简单多了啊。

解决办法

添加一个manage=False的Model,并在view中指定db_table,就可以用这个Model进行关联表的查询了,例如

class Payment(models.Model):
    #fields

    class Meta:
        managed = False
        db_table='payment'  #任意指定的一张不存在的表 

在veiw中就可以这样使用了

Payment._meta.db_table="payment_xxx"
Payment.objects.filter()

备注

一个Model Class暂时只能指定一次_meta.db_table的值,再次指定是无效的,如果要同时处理多个表,则不能使用此方法。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容