from sqlalchemy import create_engine, Column, String, Integer, ForeignKey, DateTime
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker, relationship
from datetime import datetime
import time
USERNAME = 'root'
PASSWORD = '19991108ljf'
HOSTNAME = '127.0.0.1'
PORT = '3306'
DATABASE = 'first_sqlalchemy'
DB_URL = 'mysql+pymysql://{user}:{password}@{host}:{port}/{db}?charset=utf8'\
.format(user=USERNAME, password=PASSWORD, host=HOSTNAME, port=PORT, db=DATABASE)
engine = create_engine(DB_URL)
Base = declarative_base(engine)
session = sessionmaker(engine)()
# 排序方式1:定义模型时指定模型方式
class Article(Base):
__tablename__ = 'article'
id = Column(Integer, primary_key=True, autoincrement=True)
title = Column(String(50), nullable=False)
create_time = Column(DateTime, nullable=False, default=datetime.now)
__mapper_args__ = {
# 正序
# 'order_by': create_time
# 倒叙
"order_by": create_time.desc()
}
def __repr__(self):
return '<Article(title:%s,create_time:%s)>' % (self.title, self.create_time)
def add_data():
Base.metadata.drop_all()
Base.metadata.create_all()
article_1 = Article(title='title_1')
session.add(article_1)
session.commit()
time.sleep(3)
article_2 = Article(title='title_2')
session.add(article_2)
session.commit()
def oper():
# 不用再指定排序方式 因为在定义模型的时候 就已指定好排序方式
articles_2 = session.query(Article).all()
print(articles_2)
if __name__ == '__main__':
add_data()
# oper()
老师,我这串代码报错,提示我得到意外参数‘order_by’怎么解决
