peewee的related_name是做什么用的
from peewee import *
from pprint import pprint
import datetime
import random
import sys
db = SqliteDatabase('people.db')
class User(Model):
uid = IntegerField(primary_key=True)
name = CharField()
class Meta:
database = db # This model uses the "people.db" database.
class Tweet(Model):
user = ForeignKeyField(User, related_name='tweets')
message = TextField()
created_date = DateTimeField(default=datetime.datetime.now)
is_published = BooleanField(default=True)
#db.create_tables([User,Tweet])
username=str(random.random())+"oo"
msg=str(random.random())+"xx"
try:
user = User.get(name=username)
print(user.uid)
except:
user=User.create(name=username)
print(user.uid)
try:
tt = Tweet.get(user=4)
print(tt.user)
except:
user=Tweet.create(user=4,message=msg)
print(user.message)
total=User.select().count()
print(total)
t=Tweet.select().join(User).where(User.uid ==8).order_by(Tweet.created_date.desc()).get()
print(t)
http://peewee.readthedocs.org/en/latest/peewee/querying.html
照着官方的文档写的,但是报错
peewee.OperationalError: no such table: user
user表肯定有,因为create,get都能正确执行
就是到join关联表的时候出错
写成
t=Tweet.select().join(tweets).where(User.uid ==8).order_by(Tweet.created_date.desc()).get()
也一样
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
就是反向引用名称。你可以用user.tweets访问一个用户的tweet列表