【问题标题】:peewee - change schema dynamicallypeewee - 动态更改架构
【发布时间】:2021-01-22 13:42:25
【问题描述】:

我有与这篇文章相同的问题/问题 -> peewee - modify db model meta (e.g. schema) dynamically 。我想动态更改 Meta 类中的模式字段。这是我的代码:

class GPSPosition(Model):

    def __init__(self, esquema, vehiculo, fechaFrom):
        self.esquema = esquema + '_org'
        self.vehiculo = vehiculo
        self.fechaFrom = fechaFrom

    orgid = BigIntegerField()
    id = BigIntegerField()
    vehicleid = BigIntegerField()
    driverid = BigIntegerField()
    originaldriverid = BigIntegerField(null=False)
    blockseq = IntegerField(null=False)
    time = DateTimeField(null=False)
    latitude = FloatField(null=False)
    longitude = FloatField(null=False)
    altitude = SmallIntegerField(null=False)
    heading  = SmallIntegerField(null=False)
    satellites  = SmallIntegerField(null=False)
    hdop  = FloatField(null=False)#float
    ageofreading = IntegerField(null=False)
    distancesincereading = IntegerField(null=False)
    velocity = FloatField(null=False)
    isavl = BooleanField(null=False)
    coordvalid = BooleanField(null=False)
    speedkilometresperhour = DecimalField(null=False)
    speedlimit = DecimalField(null=False) 
    vdop = SmallIntegerField(null=False)
    pdop = SmallIntegerField(null=False)
    odometerkilometres = DecimalField(null=False)
    formattedaddress = CharField(null=False)
    source = CharField(null=False) 

    class Meta:
        database = db
        schema = esquema
        db_table = 'test_gpspositions'
        primary_key = CompositeKey("orgid", "id")

有人可以告诉我这件事吗?谢谢!

【问题讨论】:

    标签: python postgresql database-schema meta peewee


    【解决方案1】:

    好吧,我会回答我自己的问题,因为我很早就找到了答案,而且非常简单,只需在要更改架构名称的位置添加这 1-2 行即可:

    schemaname = 'your_schema_name'
    setattr(YourPeeweeModel._meta, "schema", schemaname)
    

    工作正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-19
      • 2023-03-06
      • 1970-01-01
      • 2012-01-26
      • 1970-01-01
      相关资源
      最近更新 更多