首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将自定义peewee字段注册为postgres money类型

如何将自定义peewee字段注册为postgres money类型
EN

Stack Overflow用户
提问于 2019-08-20 07:50:51
回答 1查看 116关注 0票数 0

我正在尝试连接一个PSQL表,其中peewee有一个名为“columnQL”的"money“价格。每次我连接并保存一个对象时,价格列都保持空白,但其他字段保存得很好。我在这里做错了什么?

我使用的是PostgresSQL 10.5和Peewee 3.9.3

代码语言:javascript
复制
from peewee import *


# Just returning the actual value for now. Do I just need to convert?
class CurrencyField(DoubleField):
    def db_value(self, value):
        return super().db_value(value)

    def python_value(self, value):
        return super().python_value(value)


db = PostgresqlDatabase('testdb', user='guest', field_types={CurrencyField: 'MONEY'})


class BaseModel(Model):
    class Meta:
        database = db


class User(BaseModel):
    username = CharField()


class Product(BaseModel):
    price = CurrencyField
    name = CharField(max_length=355)```
EN

回答 1

Stack Overflow用户

发布于 2019-08-25 05:14:59

首先,你的方法覆盖什么也不做,所以去掉它们。然后添加postgres中使用的字段类型:

代码语言:javascript
复制
class CurrencyField(DoubleField):
   field_type = 'MONEY'

然后在您的模型中,您不会实例化该字段(字段后面没有括号)。你需要使用一个字段instance...not这个类。

代码语言:javascript
复制
class Product(BaseModel):
    price = CurrencyField()  # ADD PARENS
    name = CharField(max_length=355)

你不需要注册任何东西。上面的代码就是您所需要的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57565162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档