【发布时间】:2020-05-01 11:47:59
【问题描述】:
我正在现有的数据库上构建一个烧瓶应用程序,因此无需完全声明整个模型。我有这张桌子:
class Users(db.Model):
__tablename__ = 'my_users'
__table_args__ = {
'autoload': True,
'autoload_with': db.engine
}
该表大约有 10 列,但是当我查询数据时,我可以看到该属性:
.__dict__
只返回前 4 列。我尝试使用过滤器并过滤,但返回的数据仅包含前 4 列。这是我的查询:
users = Users.query.filter(
section_serial == sectionserial
).all()
我正在使用 postgres 数据库。这是一个最小的例子:
CREATE TABLE public.my_users
(
user_serial integer NOT NULL DEFAULT nextval('my_users_seq'::regclass),
user_name character varying(16) NOT NULL,
user_password character varying(42) NOT NULL,
id_number character varying(155) NOT NULL,
date_added timestamp without time zone NOT NULL DEFAULT now(),
is_enabled boolean NOT NULL DEFAULT true,
expiry_date date NOT NULL DEFAULT (('now'::text)::date + 30),
phone_number character varying(254),
notes text,
section_serial integer,
full_name character varying(155) NOT NULL,
zip_code boolean NOT NULL DEFAULT false,
CONSTRAINT user_serial_pkey PRIMARY KEY (user_serial)
);
查询数据后,我只得到 user_serial、user_name、user_password 和 id_number。我无法获取其余的列
【问题讨论】:
-
请提供minimal reproducible example。首先包括 PostgreSQL 看到的表模式。然后使用示例数据和输出清楚地说明“仅返回前 4 列”的含义。包括一个预期输出的样本。
-
您好,我已经提供了架构。希望对您有所帮助
-
@snakecharmerb 抱歉我不小心把它漏掉了
-
@snakecharmerb 如果我已经在另一个模型中声明了 my_users 怎么办。我在另一个模型中注意到我刚刚声明了我得到的四列。我认为这是问题
标签: python postgresql flask sqlalchemy flask-sqlalchemy