美文网首页
Django Model运行时关联表

Django Model运行时关联表

作者: 十三流 | 来源:发表于2017-02-10 17:48 被阅读0次

    场景

    现在数据库中,有些表 每个商户单独存一张表,例如支付表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的值,再次指定是无效的,如果要同时处理多个表,则不能使用此方法。

    相关文章

      网友评论

          本文标题:Django Model运行时关联表

          本文链接:https://www.haomeiwen.com/subject/tcxnittx.html