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